精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

香蕉av777xxx色综合一区| 久久爱www.| 亚洲视频免费观看| 国产精品久久精品视| 精品国产乱码一区二区| 国产探花一区二区| 日韩欧美激情在线| 免费黄色特级片| 无遮挡动作视频在线观看免费入口| 麻豆成人免费电影| 午夜欧美大片免费观看| 黄色激情小视频| 日韩母乳在线| 日韩午夜小视频| 老司机午夜av| 第一福利在线视频| 国产精品麻豆视频| 鲁片一区二区三区| 亚洲精品一区二区三区不卡| 日韩有码一区二区三区| 久久久久久国产精品久久| 国产在视频线精品视频| 国产精品sss在线观看av| 欧美男男青年gay1069videost | 手机在线电影一区| 亚洲国产成人在线视频| www激情五月| 欧美www.| 日韩欧美高清在线视频| 和岳每晚弄的高潮嗷嗷叫视频| 秋霞午夜在线观看| 国产亚洲欧美激情| 美女被啪啪一区二区| 成人免费一级视频| 国产精品综合在线视频| 国产精品一区专区欧美日韩| 无码日韩精品一区二区| 国产亚洲精品久久久久婷婷瑜伽| 不卡av在线播放| 久久久久久久麻豆| 天天av综合| zzijzzij亚洲日本成熟少妇| 亚洲精品视频大全| 亚洲日本一区二区三区在线| 日韩一区二区三| 青青草久久伊人| 日韩黄色碟片| 91精品欧美综合在线观看最新 | 亚洲欧美日韩久久久久久 | 国产精品视频一二区| 另类小说综合欧美亚洲| 国产精品免费一区豆花| 少妇无套内谢久久久久| 蜜臀av性久久久久蜜臀aⅴ| 日韩av大片免费看| 国产裸体美女永久免费无遮挡| 久久精品欧洲| 国产精品久久久久久久久久新婚| 国产免费一区二区三区四区五区| 天堂va蜜桃一区二区三区漫画版| 日韩av高清不卡| 一区二区三区麻豆| 久久99精品久久久久| 91免费高清视频| 亚洲成人黄色片| av男人天堂一区| 久久精精品视频| 国产视频第一区| 最新国产成人在线观看| 五月天综合婷婷| 欧美xxx黑人xxx水蜜桃| 午夜欧美2019年伦理| 久久久久国产精品熟女影院| 精品福利在线| 精品剧情在线观看| 亚洲午夜久久久久久久久红桃 | 久久久久亚洲精品中文字幕| 日韩欧美你懂的| 亚洲AV无码国产精品| 成人黄色av| 久久亚洲精品一区| 天天综合网久久综合网| 久久电影网站中文字幕| 99视频日韩| 欧美高清电影在线| 亚洲乱码中文字幕| 无码人妻丰满熟妇区毛片18| 国内自拍亚洲| 精品国产91九色蝌蚪| 欧美人妻一区二区三区| 欧美/亚洲一区| 欧美在线中文字幕| 99精品久久久久久中文字幕| 99精品视频免费在线观看| 亚洲v国产v在线观看| 免费在线观看av电影| 欧美中文字幕一区二区三区| 三上悠亚 电影| 怕怕欧美视频免费大全| 欧美日本国产在线| 高潮无码精品色欲av午夜福利| 国产美女视频91| 日韩高清av| 欧美男男video| 欧美日韩精品一区二区天天拍小说 | 中文成人在线| 精品伊人久久97| 午夜精品一区二区三区视频| 香蕉国产精品偷在线观看不卡| 91久久嫩草影院一区二区| 天堂av在线资源| 综合激情成人伊人| 国产精彩免费视频| 久久九九热re6这里有精品| 久久久999国产| 免费一级a毛片| 26uuu久久综合| 蜜臀av色欲a片无码精品一区| 视频欧美精品| 一区二区亚洲精品国产| 中文字幕视频网站| 成人av综合在线| 国产女人18毛片| 99热播精品免费| 亚洲欧美日韩直播| 国产成人无码精品久久久久| 国产精品白丝jk黑袜喷水| 亚洲一二区在线| 国产成人77亚洲精品www| 亚洲欧美制服丝袜| wwwwww国产| 2019国产精品| 日本成年人网址| 欧美中文一区| 777精品视频| 免费国产羞羞网站视频| 亚洲国产aⅴ天堂久久| 超级砰砰砰97免费观看最新一期 | 婷婷综合成人| 性色av一区二区咪爱| 国产综合无码一区二区色蜜蜜| 依依成人综合视频| 欧美性受xxxx黒人xyx性爽| 天天射—综合中文网| 国产精品亚发布| 免费观看成人高潮| 欧美精品一二三四| 成人性生活毛片| 国内精品久久久久影院薰衣草| 一区二区精品国产| 国产中文欧美日韩在线| 免费91麻豆精品国产自产在线观看| 97精品人妻一区二区三区在线| 国产精品乱人伦一区二区| 国产福利在线免费| 91精品啪在线观看国产81旧版| 91丝袜美腿美女视频网站| fc2ppv国产精品久久| 精品免费国产二区三区| 日韩av一二三区| 久久久www免费人成精品| 日韩少妇内射免费播放| 九九在线高清精品视频| 国产成人福利视频| 国产黄色在线观看| 欧美mv日韩mv国产| 久久青青草原亚洲av无码麻豆| 国产日本欧美一区二区| aaa一级黄色片| 国内精品久久久久久久影视麻豆| 国产日韩亚洲精品| 日本成人片在线| 久久视频国产精品免费视频在线| 国产黄色片免费| 大桥未久av一区二区三区| 91网站免费视频| 极品少妇xxxx精品少妇| 全黄性性激高免费视频| 激情五月综合| 91黄在线观看| 欧美性理论片在线观看片免费| 精品国产一区二区三区久久狼黑人| 成人av免费播放| 欧美性极品少妇精品网站| 精品伦精品一区二区三区视频密桃| 国产成人综合亚洲91猫咪| 六月丁香婷婷在线| 亚洲欧美偷拍自拍| 免费中文日韩| 日韩精品免费视频一区二区三区| 欧美在线一级va免费观看| 日本在线视频网| 日韩av在线一区| 国产精品免费无遮挡| 欧美日韩国产精品| 午夜爽爽爽男女免费观看| 91网上在线视频| 秋霞午夜鲁丝一区二区| 日本午夜精品一区二区三区电影| 台湾无码一区二区| 日韩成人激情| 久久99国产精品99久久| www.91精品| 国产suv精品一区二区| 男男gaygays亚洲| 丝袜美腿精品国产二区| 日韩二区三区| 精品国内片67194| 国产精品女同一区二区| 在线免费观看不卡av| www.av麻豆| 亚洲激情一二三区| www.黄色com| 久久日一线二线三线suv| 亚洲精品乱码久久久久久蜜桃欧美| 老司机午夜精品| 99免费视频观看| 亚洲在线一区| 男女超爽视频免费播放| 欧美激情成人在线| 国产精品h视频| 日韩综合网站| 日韩免费电影一区二区| 久久99性xxx老妇胖精品| 国产一区二区三区奇米久涩| 天堂久久av| 114国产精品久久免费观看| 午夜不卡一区| 国产日韩欧美中文| 激情中国色综合| 国产一区红桃视频| 成人国产综合| 国产欧美精品日韩| 国产精品天堂蜜av在线播放 | 久久久久久亚洲精品美女 | 精品淫伦v久久水蜜桃| 丁香婷婷久久久综合精品国产| 久久伊人影院| 97久久夜色精品国产九色| 国产精品亚洲综合在线观看 | jizz国产视频| 日韩一区二区影院| a级片在线免费看| 欧美一区二区三区免费在线看| 国产精品久久无码一三区| 91精品国产综合久久久久久久久久| 911美女片黄在线观看游戏| 欧美福利视频一区| 99在线精品视频免费观看20| 欧美成人性战久久| 蜜桃在线一区二区| 日韩激情在线视频| 国产在线视频网址| 中文字幕在线日韩| av网站在线看| 国内伊人久久久久久网站视频 | 欧美三级午夜理伦三级中文幕| 欧美少妇在线观看| 亚洲国产激情| 国产91在线视频观看| 奇米影视一区二区三区| 亚洲小视频网站| 不卡的av电影| 一区二区精品免费| 中文字幕在线不卡视频| 黄色一级片在线| 精品久久久久久久久中文字幕| 亚洲视频 欧美视频| 欧美精品九九99久久| 成人爽a毛片一区二区| 亚洲新声在线观看| 国产欧美黑人| 91精品国产高清| 亚洲电影有码| 97中文在线| 国产成人1区| 久久久成人精品一区二区三区 | 男人天堂一区二区| 亚洲视频免费一区| 99视频免费在线观看| 97视频在线观看视频免费视频| 91精品国产66| 粉嫩精品一区二区三区在线观看| 亚洲制服欧美另类| 在线观看免费黄色片| 一区二区三区成人精品| 日韩av一卡二卡三卡| 99九九99九九九视频精品| 成年人视频软件| 精品成人国产在线观看男人呻吟| 中文在线观看免费高清| 亚洲国产精品一区二区三区| 在线免费观看黄色网址| 97视频在线观看视频免费视频| 亚洲男女网站| 日本在线观看一区二区| 国产精品v一区二区三区| 奇米影音第四色| 91丝袜高跟美女视频| 朝桐光av在线| 欧美特级限制片免费在线观看| 日韩专区第一页| 久久精品国产视频| 欧美××××黑人××性爽| 国产精品18毛片一区二区| 99成人超碰| 亚州精品一二三区| 91偷拍与自偷拍精品| 久久久国产精华液| 在线播放中文一区| 国产一级网站视频在线| 2019中文字幕免费视频| 日韩一区二区三区精品| 伊人久久大香线蕉av一区| 久久高清免费观看| 老熟妇精品一区二区三区| 在线国产视频一区| 欧美日韩午夜剧场| 日本黄色一区二区三区| 欧美乱大交xxxxx| 亚洲精品一区av| 五月天久久狠狠| 日韩高清中文字幕一区| 亚洲国产无码精品| 都市激情亚洲色图| 日韩有码第一页| 性欧美视频videos6一9| 福利电影一区| 可以看毛片的网址| 成人黄色一级视频| 国产无码精品视频| 亚洲精品一区二区在线观看| 欧美大片黄色| 国产精品免费区二区三区观看| 欧美69wwwcom| 动漫av在线免费观看| 亚洲国产精品人人做人人爽| 亚洲精品成人电影| 国模私拍一区二区三区| 黄色免费大全亚洲| 男人添女人下面高潮视频| 97久久超碰国产精品电影| 久久夜靖品2区| 亚洲欧美日韩综合| 亚洲综合av一区二区三区| 亚洲精品中文字幕在线| 久久精品99国产国产精| 日本少妇aaa| 欧美一区二区三区免费观看视频| 中文字幕在线播放网址| www.久久艹| 国产亚洲毛片| 一级特黄曰皮片视频| 欧美日韩视频在线观看一区二区三区| 在线国产情侣| 亚洲资源在线看| 91久久午夜| 色哟哟精品观看| 欧美日韩日日摸| 91麻豆免费在线视频| 国产亚洲精品自在久久| 久久精品动漫| 性爱在线免费视频| 日韩免费电影网站| 三妻四妾的电影电视剧在线观看| 日本不卡二区| 国模少妇一区二区三区| 日本熟妇成熟毛茸茸| 亚洲人成网7777777国产| 欧美成人黄色| www.av毛片| 国产欧美一区二区三区网站 | 亚洲精品综合久久中文字幕| 国产精品久久久久久吹潮| 久久久99精品视频| 久久中文字幕电影| 国产一区二区在线视频观看| 久久久久久av| 色琪琪久久se色| av在线播放网址| 欧美日韩国产乱码电影| segui88久久综合9999| 午夜精品一区二区三区四区 | 久久精品视频观看| 精品国产乱码久久久久久88av | 免费污网站在线观看| 欧美一区二区三区在线视频| 蜜桃麻豆影像在线观看| 亚洲免费av网| 国产亚洲精品bt天堂精选| 99在线无码精品入口| 国产成人精品电影| 精品动漫3d一区二区三区免费版| 亚洲一级黄色录像| 亚洲第一二三四五区| 91精品视频一区二区| 日本三级免费观看| 亚洲影院在线观看| 素人av在线| 欧美在线日韩精品|