精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

為什么我們應該像蓋房子那樣寫程序?

開發 項目管理
理解一件復雜的事情的關鍵是抽象,這意味著技術說明比代碼要高一個層次。最簡單最準確的語言是數學,初等數學就教過這些了:集合、函數和簡單的邏輯。不過,大多數正式的技術說明書使用的語言不在初等數學班里,比如:類型。然而,越是遠離簡單數學的語言,越會妨礙我們去理解一個復雜的程序或系統。

 

在砌上一塊磚或釘下一支釘子之前,建筑設計師會制定好詳細的計劃。程序員或者軟件工程師卻不會。這難道就是房子很少塌倒而程序經常會崩潰的原因?

藍圖保證建筑設計師的設計的建筑按規劃建成。“建成”不僅僅意味不會塌倒,還意味達到業主要求的功能。建筑設計師和他們的客戶在著手建造之前,通過藍圖來溝通,以理解他們將要建造成的建筑的樣子。

但是很少有程序員在編碼之前,會勾畫哪怕是簡單的草圖來說明他們的程序將是會怎么樣子。

大多數程序員認為做任何不產生代碼的事情都是浪費時間。思考并不會產生代碼,沒有想好就開始編碼,那只會產生出糟糕代碼。我們應該理解這些代碼到底要實現哪些功能。理解需要思考,而思考很難。借用一句漫畫家迪克·圭尼登的話:

 寫作是一種讓你知道你想法有多傷感的本能方法

藍圖讓我們想清楚我們打算要建造的建筑。在寫下一段代碼之前,我們應該先寫藍圖。軟件的藍圖稱為技術說明書。

已經有太多的借口說撰寫技術說明書只是浪費時間。比如:技術說明書毫無用處,我們不能通過它來產生代碼。這就好像說建筑設計師應該不要畫藍圖,因為他們最終還是需要承包商去建造房子。另外一個反對撰寫技術說明書的爭論也能夠用藍圖的例子來反駁。

還有一些程序員爭辯說,把藍圖和技術說明書作比較是無用功,畢竟程序不是建筑物。他們認為推倒一堵墻要比改變代碼難多了,所以程序的藍圖不是必須的。

錯!改變代碼也很難,特別是如果我們不想讓程序有缺陷的話。

我最近需要修改一些不是我寫的代碼,從而給程序增加一個小小的功能。要完成它需要理解一個接口。我花一整天用調試器來研究該接口到底是干什么的——這種事讀讀技術說明書只要5分鐘就能搞定。為了避免導入缺陷,我不得不弄清楚我每次修改之后的結果。因為沒有技術說明書,這個事情變得更加困難。我必須要閱讀上千行代碼,我花了數天來琢磨怎樣才能修改盡可能少的代碼。最后,我花了一周,新增、修改了180行代碼。這可僅僅是這個程序的一個很小的變更啊。

修改代碼只是一項大任務中小小的一塊工作,大多數代碼已經是我十幾年之前寫的了。盡管我幾乎不記得這些代碼是干嘛的,要修改它還是挺容易的——通過閱讀我寫的技術說明書,很容易就能找到我要修改的地方。盡管這些修改工作量不少,而且還影響到其它代碼,我還是能很快搞定它。

我所說的技術說明書到底是什么?通常它被認為是以正式的技術語言寫就的東西。但是撰寫正式的技術說明只需要偶爾為之,如果我們僅僅是蓋個工具棚的話,就不需要畫摩天大樓所要求的那種藍圖。對于大多數軟件來說,我們不需要正式的技術說明書。然而就算是寫小程序也不能不寫技術說明,否則就像沒做任何計劃就要蓋工具棚一樣。

這些日子,我寫的程序往往只是小房子級別,不是摩天大樓級的。通常我會寫下每個算法的實現方式,大多數算法很簡單,可能只需要一兩句話就能寫清楚。有時寫清楚一個算法到底是怎么起作用的需要好好構思,并且可能得花上一段話或者幾頁紙才能寫清楚。我有一個簡單的原則:技術說明書應該寫清楚該算法的使用者需要知道的每一件事情。在代碼寫好、編譯好之后,估計沒有人會再去閱讀它了。

一旦我弄明白了一段代碼的目的所在,寫代碼的工作就容易了。但有些代碼并不是這樣,它們要求很復雜的算法。想讓一個算法運作起來需要精心構思,這就需要有技術說明書了。

我寫的大多數技術說明書都是非正式的。偶爾一段代碼很精妙,也很關鍵,這就需要正式地寫。要保證準確性,甚至要使用編寫工具仔細檢查。這種正式的事情過去十幾年只是有那么十幾次罷了。

對于復雜系統的設計師,一份正式的技術說明書是必須的,就好像摩天大樓的藍圖一樣。但很少有工程師會撰寫技術說明書,因為他們根本沒有時間去學如何做好這件事,而且學校里也不教。一些學校會講授技術說明書用語,但是很少教怎么在實際工作中應用。如果你連一個工具棚的藍圖都不會畫的話,怎么能會畫摩天大樓的藍圖?

要學會撰寫技術說明書,需要實踐。沒有簡單的規則能保證你寫出一份好的技術說明書。不過一個應該避免的事情就是不要用代碼。通過代碼去理解代碼是一個糟糕事情。建筑設計師不會用磚來制作藍圖。

理解一件復雜的事情的關鍵是抽象,這意味著技術說明比代碼要高一個層次。最簡單最準確的語言是數學,初等數學就教過這些了:集合、函數和簡單的邏輯。不過,大多數正式的技術說明書使用的語言不在初等數學班里,比如:類型。然而,越是遠離簡單數學的語言,越會妨礙我們去理解一個復雜的程序或系統。

無論是為復雜系統使用正式的技術說明書還是簡單代碼的非正式的技術說明書,撰寫技術說明書都會提升我們代碼的質量。它有助于我們理解我們正在做的事情并減少出錯。當然,即使撰寫技術說明書也不保證你的程序就不會崩潰。我們依然要使用已有的其它方法和工具來減少代碼缺陷。

思考不會保證我們不會犯錯誤。但是不思考肯定會犯錯誤。

本文作者萊斯利.蘭伯特是計算機科學家,擅長分布式系統、時態邏輯和并行算法。他是工程和國家科學院國家科學院成員。蘭伯特在麻省理工學院攻讀數學本科,在布蘭迪斯大學贏得了他的碩士和博士學位。他為微軟研究所工作。

原文鏈接:http://select.yeeyan.org/view/348054/347371

責任編輯:林師授 來源: 譯言網
相關推薦

2014-06-24 09:35:09

算法算法進化

2021-02-28 19:32:50

Wi-Fi無線局域網WLAN)

2021-04-16 09:57:17

AI 數據人工智能

2022-09-22 15:23:27

3D打印技術

2022-11-24 14:46:59

物聯網數字醫療虛擬現實

2013-01-07 11:31:11

大數據大數據應用

2013-01-08 10:19:35

大數據數據分析大數據全球技術峰會

2014-01-08 09:26:05

程序員招聘

2013-06-05 10:49:57

招聘招聘程序員

2011-08-11 14:52:59

2012-09-06 10:30:58

2011-12-20 09:01:25

.NET

2019-09-02 09:30:40

2018-04-23 09:49:07

LinuxWSLWindows 10

2009-04-02 15:10:40

知識 介質

2012-10-22 14:17:42

函數式程序員

2015-11-02 09:19:10

程序員JavaScript

2015-09-15 09:08:58

前端程序員高薪

2025-10-13 07:31:08

2023-02-15 10:26:34

點贊
收藏

51CTO技術棧公眾號

日韩激情视频| 日韩在线激情视频| caopor在线视频| 在线观看免费网站黄| 国产一区二区剧情av在线| 国产69精品久久久久9| 成人午夜剧场视频网站| 国产精品亚洲综合在线观看 | 亚洲高清福利视频| 国产精品igao| 毛片在线导航| 久久久www成人免费毛片麻豆 | 日韩欧美午夜| 亚洲韩国日本中文字幕| 粉色视频免费看| 偷拍自拍在线看| 亚洲视频每日更新| 欧美亚洲另类在线一区二区三区| 国产不卡精品视频| 日本在线不卡一区| 久久久天堂国产精品女人| 亚洲一级理论片| 青青操综合网| 在线中文字幕视频观看| 亚洲福利电影| 美日韩精品视频免费看| 一级片视频免费看| 欧美精品国产白浆久久久久| 欧美日韩精品一区二区| 欧美a在线视频| 超碰在线资源| **性色生活片久久毛片| 日韩在线导航| 久久这里精品| 99精品热视频| 国产福利久久| 性一交一乱一伧老太| 老司机午夜精品99久久| 国产成人免费91av在线| 日韩色图在线观看| 一本色道久久综合一区| 国内偷自视频区视频综合| 欧美丰满熟妇bbbbbb| 99久久这里只有精品| 在线视频欧美日韩精品| 亚洲区自拍偷拍| 曰本一区二区三区视频| 亚洲欧美日韩一区二区三区在线| 天天躁日日躁狠狠躁av麻豆男男 | 欧美精品vⅰdeose4hd| 欧美日韩一区二区在线免费观看| 蜜臀久久精品| 欧美日韩国产丝袜美女| 9久久9毛片又大又硬又粗| av电影在线免费| 亚洲成在人线在线播放| 僵尸世界大战2 在线播放| 美女精品导航| 欧美日韩中文字幕综合视频 | 东京一区二区| 色婷婷亚洲精品| 992kp快乐看片永久免费网址| 色老太综合网| 欧美系列一区二区| 国产成年人视频网站| 国产精品3区| 日韩视频一区在线观看| 亚洲国产精品第一页| 国产精品超碰| 亚洲毛片在线观看.| 亚洲黄色小说视频| 日韩高清欧美| 免费av在线一区| 国产精品99精品| 久久久久久久欧美精品| 国产精品高潮呻吟久久av无限| 中文字幕av久久爽| 国产精品99久久不卡二区| 国产精品视频一区二区三区经| 亚欧洲精品视频| 国产三级精品三级| www.黄色网址.com| а√天堂中文资源在线bt| 色视频欧美一区二区三区| 孩娇小videos精品| 哺乳一区二区三区中文视频 | 日韩一区二区中文字幕| 妖精视频一区二区| 日本精品三区| 国模精品一区二区三区色天香| 99精品在线播放| 九一九一国产精品| 国产乱人伦精品一区二区| 男人久久精品| 一区二区三区在线免费视频 | 欧美成人精品三级网站| 欧美一区二区免费视频| 欧美狂猛xxxxx乱大交3| 婷婷综合视频| 国产91精品在线播放| 国产露脸无套对白在线播放| 99国产精品视频免费观看| 亚洲最大免费| 中国色在线日|韩| 欧美老肥妇做.爰bbww| 久久久国产精品无码| 欧美激情偷拍自拍| 欧美最猛性xxxx| 精品国产乱码久久久久久蜜臀网站| 久久蜜臀精品av| 欧美一区二区视频在线播放| 国产精品无码久久久久| 日韩精品视频免费| 久久免费黄色网址| 久久成人羞羞网站| 久久一区二区三区av| av网址在线| 欧美日韩一区不卡| 公侵犯人妻一区二区三区| 国内综合精品午夜久久资源| 国产精品精品久久久久久| 午夜精品一区二区在线观看的| 貂蝉被到爽流白浆在线观看| 99这里有精品| 国产精品v欧美精品v日韩精品| 成人高清网站| 一本久久精品一区二区| 免费不卡的av| 国内精品福利| 97久久精品午夜一区二区| 在线视频91p| 在线观看视频一区二区欧美日韩| 黄色av电影网站| 欧美日本中文| 97伦理在线四区| 黄网站免费在线播放| 欧美色区777第一页| 美女爆乳18禁www久久久久久| 黑人一区二区| 国产成人精品福利一区二区三区| av官网在线播放| 91精品国产综合久久久久久久| 亚洲天堂av中文字幕| 日本aⅴ精品一区二区三区 | 日韩欧美在线国产| a视频免费观看| 夜夜爽av福利精品导航| 精品久久sese| 中文字幕在线直播| 亚洲免费av片| 亚洲精品国产精品乱码视色| 久久久.com| 中文字幕第21页| 日韩夫妻性生活xx| 亚洲一区二区三区乱码aⅴ蜜桃女 亚洲一区二区三区乱码aⅴ | 捆绑调教日本一区二区三区| 亚洲国产一区自拍| 综合网在线观看| 欧美韩国日本一区| 视色视频在线观看| 91精品精品| 超碰在线观看97| 国产中文在线播放| 亚洲色图在线观看| 伊人网视频在线| 日韩一区在线看| 亚洲av综合色区无码另类小说| 国语精品一区| 欧美一级爽aaaaa大片| 国产精品原创视频| 久久99热这里只有精品国产| 日本成人动漫在线观看| 日韩欧美大尺度| av在线播放中文字幕| 国产精品一区在线观看你懂的| 91.com在线| 国产99久久精品一区二区300| 国产精品aaa| sm国产在线调教视频| 亚洲国产天堂网精品网站| 无码人妻熟妇av又粗又大| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 欧美国产一区在线| 国产人妖在线观看| 性欧美长视频| 91成人在线视频观看| 激情小说一区| 国产日韩亚洲欧美| 91美女精品| 色偷偷av亚洲男人的天堂| 少妇喷水在线观看| 欧美日韩国产精选| 五月天婷婷网站| 欧美激情在线免费观看| 国产精品日日摸夜夜爽| 首页国产欧美久久| 91成人在线视频观看| 精品国产123区| 国产精品果冻传媒潘| 欧美日韩精品一区二区三区视频| 欧美精品激情视频| 香蕉视频国产在线观看| 亚洲国产福利在线| 99国产精品一区二区三区| 欧美午夜性色大片在线观看| 欧美大片xxxx| 国产欧美一区二区精品久导航| 韩国三级与黑人| 男人操女人的视频在线观看欧美| 国产精品自拍合集| 日韩国产一区| 日本精品一区| 久久亚洲黄色| av一区二区三区免费| 国产精品.xx视频.xxtv| 欧洲中文字幕国产精品| 免费毛片在线看片免费丝瓜视频 | 日韩一级片在线免费观看| 北岛玲一区二区三区四区| 亚洲天堂网2018| 日日摸夜夜添夜夜添精品视频 | 美女久久久精品| 午夜肉伦伦影院| 亚洲视频免费| 蜜臀av.com| 91精品婷婷色在线观看| 先锋影音一区二区三区| 九九综合久久| 久久久久久久久久久久久9999| 99精品中文字幕在线不卡| 91精品视频在线免费观看| 日本在线中文字幕一区二区三区| 2018日韩中文字幕| 欧美aa在线观看| 久久免费观看视频| a级片免费在线观看| 久久91亚洲精品中文字幕| av免费网站在线观看| www.国产一区| 麻豆传媒视频在线观看免费| 中文字幕亚洲专区| 日本网站在线免费观看视频| 自拍偷拍亚洲一区| 亚洲精品承认| 久久亚洲精品一区二区| 二区三区在线观看| 欧美成人全部免费| 在线观看免费视频你懂的| 丝袜亚洲精品中文字幕一区| 国产精选一区二区| 国产人妖ts一区二区| 国产欧美一区二区三区不卡高清| 亚洲精品在线播放| 国产精品三区在线| 亚洲综合图色| 午夜精品短视频| 天天精品视频| 99久久免费观看| 亚洲欧美视频一区二区三区| 国内外免费激情视频| 日本午夜精品视频在线观看| 国产九九在线视频| 狠狠色2019综合网| 最新国产精品自拍| 91在线视频免费观看| 久久美女免费视频| 亚洲色大成网站www久久九九| 免费在线观看一级片| 五月激情综合婷婷| 中文字幕在线天堂| 制服.丝袜.亚洲.另类.中文| 亚洲精品18p| 亚洲欧美在线免费| 麻豆电影在线播放| 久久免费精品视频| 欧美成人app| 99国精产品一二二线| 天天做夜夜做人人爱精品| 一级特黄录像免费播放全99| 午夜欧美精品久久久久久久| 波多野结衣之无限发射| 久久亚洲影院| 亚洲精品无码久久久久久久| www.在线欧美| 亚洲色图100p| 午夜精品久久久久久久久| 亚洲大尺度在线观看| 日韩午夜在线观看| 涩涩视频在线观看免费| www.日韩不卡电影av| 波多野结衣乳巨码无在线观看| 欧美壮男野外gaytube| www.久久久.com| 久久亚洲高清| 欧美激情1区| 不卡av免费在线| 国产成人高清在线| 免费看91的网站| 亚洲成年人网站在线观看| 综合久久中文字幕| 亚洲国产高潮在线观看| 久草资源在线| 国产精品wwww| 蜜桃av鲁一鲁一鲁一鲁俄罗斯的| 久久se精品一区二区| 在线不卡一区二区三区| 91美女视频网站| 欧美精品乱码视频一二专区| 欧美性极品少妇| 日韩亚洲视频在线观看| 欧美高清在线观看| 国产精品久久乐| 欧美日韩成人一区二区三区| 韩国亚洲精品| 国产永久免费网站| 国产欧美一区二区精品忘忧草| 亚洲精品1区2区3区| 日韩美女一区二区三区四区| 在线观看黄av| 国产精品免费一区| 自拍自偷一区二区三区| av免费观看大全| 国产a视频精品免费观看| 天天色影综合网| 欧美日韩在线观看一区二区| 四虎在线视频| 国内精品一区二区三区| 大伊香蕉精品在线品播放| 伊人久久在线观看| 国产一区福利在线| 国产福利视频网站| 欧美精品v国产精品v日韩精品 | 无码人妻精品一区二区三区66| 播五月开心婷婷综合| 国产无遮挡又黄又爽在线观看| 日韩限制级电影在线观看| 羞羞电影在线观看www| 91免费高清视频| 国产精品伦理久久久久久| 国产一伦一伦一伦| 国产精品嫩草99a| 91女人18毛片水多国产| 久久久999国产精品| 6080午夜伦理| 极品美女销魂一区二区三区 | 亚洲综合网av| 色哟哟入口国产精品| 精品视频在线一区二区在线| 日产精品久久久一区二区| 首页国产欧美久久| 日本成人免费在线观看 | 日韩免费观看在线观看| 久久不见久久见中文字幕免费| 18禁免费无码无遮挡不卡网站| 91丨porny丨国产入口| 黑人精品无码一区二区三区AV| 精品亚洲永久免费精品| 奇米777日韩| 亚洲乱码一区二区三区三上悠亚 | 91成人网在线| 香港伦理在线| 99久久免费国| 国产日韩亚洲| 我不卡一区二区| 欧美丰满少妇xxxxx高潮对白| 国产不卡在线| 黑人中文字幕一区二区三区| 亚洲资源av| 黄色一级片一级片| 日韩视频免费观看高清在线视频| 女子免费在线观看视频www| 九九九久久久| 日本欧美加勒比视频| 欧美做爰爽爽爽爽爽爽| 亚洲精品久久久久中文字幕欢迎你 | 亚洲国产一区视频| 青青草娱乐在线| 91久久精品国产91性色| 亚洲福利一区| 大又大又粗又硬又爽少妇毛片 | 一区二区国产盗摄色噜噜| 午夜性色福利视频| 国产精品自拍偷拍| 亚洲电影av| 一级免费黄色录像| 亚洲国产精品成人av| 国产精品亚洲成在人线| 久久在线中文字幕| 中文字幕精品三区| 日韩在线视频免费| 国产日韩欧美中文| 国产精品婷婷| 亚洲av鲁丝一区二区三区 | 欧美美女一区二区在线观看| 午夜小视频在线观看| 区一区二区三区中文字幕| 国产一区二区h| 99re热视频| 97精品国产97久久久久久春色| 久久美女精品|