国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

程序員的成長從開竅開始

企業動態
有時候即使是很優秀的程序員,也會被一個低級錯誤困擾,可能會幾天都解決不了。所以,關鍵在于,如何找到問題。

最近,有兩位Google Maps API的初學者向我請教他們按照最簡單例子寫的程序為什么不能正常的運行。

其中一位用GTalk跟我交流,我仔細了看了他的代碼,沒看出問題,把代碼保存在本地,打開Firefox的錯誤控制臺,用Firefox打開他的頁面。出錯的那一行被清晰的顯示出來,我再仔細端詳那句話,原來有兩個應該是英文逗號的地方,寫上了中文逗號。

另一位,在我的論壇跟我交流他的Google Maps API中遇到的問題,我看他代碼的時候也沒有馬上發現問題。然而,同樣在用Firefox打開后,問題很明顯的找到了,原來是一個方法openInfoWindow被他寫成OpenInfoWindow了。

在我幫助別人解決的程序調試問題中,這是非常常見的。人人都可能打出中文逗號,人人都可能把大小寫寫錯。但是在我幫助他們解決問題以后,他們總是感慨的說,謝謝我解決了這個問題,這個問題困擾了他們幾個小時,甚至是幾天。

這其實并不是只有初學者才會遇到的問題,我還幫助過些有非常豐富經驗的工程師解決問題,有時候問題僅僅出自某個參數沒有傳遞進來,或者是拼接字符串的時候少些了一個冒號,或者是拼接地址的時候漏掉了http:。我甚至幫助一些人調試一些我根本不懂的語言的程序,因為多半出現的問題,都和語言特性無關,不是程序員寫錯了字符,就是寫錯了邏輯,或者是錯誤理解了一個函數。

出問題是正常的,寫程序是一個復雜的邊思考邊打字的過程,筆誤和一時糊涂都是難以避免的。程序員一般把這種問題叫做低級問題,因為這類問題跟你的智商完全無關,任何人都可能犯。

但是,問題在于,有時候即使是很優秀的程序員,也會被一個低級錯誤困擾,可能會幾天都解決不了。所以,關鍵在于,如何找到問題。

遇到問題的時候:

1,不要怨天怨地。出了問題,當然有可能是系統的bug,API的問題,但是那些幾率往往比你犯低級錯誤的幾率要低多了,先從自己身上找原因,是不是自己寫錯了。

2,要掌握工具。***限度你要會寫Log,***是Log和調試器結合。好 的工具可以大大的提高效率。以前有人跟我說,Dll不能調試,我發現可以;有人說多線程不能調試,我發現可以;有人說COM不能調試,我發現可以;有人說 IE插件不能調試,我發現可以;有人說OE插件不能調試,我發現也可以。當然,你確實會遇到不能調試的時候,當年我們做東芝芯片的嵌入程序,一個組都沒有 一個仿真器和調試器,但是至少可以用Log嘛,無非是麻煩點。

3,分析問題要有邏輯。遇到問題可以先把所有的可能性都列出來,然后一個一個分析,肯定能找到原因的。

4,要學會隔離問題。問題涉及到的代碼越多,越難以理解,問題越難以解決。遇到這樣的情況,可以利用Log或者調試器,一行代碼一行代碼的給它們洗清嫌疑,這樣很快你就可以找到出問題的地方。如果代碼特別長,程序特別復雜,可以用二分法來做,效率很高。

5,千萬不要懶惰,不要事事求別人。一次復雜的調試過程就像一部偵探劇,如果你有非常好的邏輯性,那這部劇的主角就是福爾摩斯,劇情一定非常精彩。我說這個是有巨大風險的,說真的我幫人調東西挺上癮的,很有意思。但是我還是要告訴大家,一次高難度的調試之后,你的滿足感絕對不亞于寫了一個偉大的程序。

要想不遇到問題,寫代碼的時候:

1,要對寫出來的代碼負責。我很佩服那些寫代碼寫100行都不執行一次的 高手,如果他們***不被低級錯誤困擾的話我就更加的佩服了。我寫程序幾乎是寫一行兩行就要執行一次,每句話我都要確保執行效果跟我的預期一致。沒錯這樣寫的時候 可能慢一些,但是調試的時候很輕松,我可以很簡單的確定哪些代碼絕對沒有問題。所以我寫代碼整體速度比一般人高。很多人學習新東西的時候喜歡把例子抄一遍,運行一下,改改,再運行。我喜歡一句一句的抄例子,抄一句兩句執行一次,這樣可以把例子透徹的理解,而且很難會遇到出現了問題找不到原因的時候。

2,函數體功能塊不要過長。我認為我的智商并不高,我很難接受一個程序的一個函數體或者一個功能塊超越3屏(當然邏輯真的有那么復雜除外,你會發現越是簡單的邏輯越是容易被人寫的冗長)。很多人對面向對象耳熟能詳,對封裝繼承看起來駕輕就熟。但是動不動就寫出來個函數體超長的程序。這就像寫本書從頭到尾不點句號一樣,會累死讀者的。自己看的時候,估計也會被累的喘不過來氣。這是我對基礎教育的微詞所在,他們連教會學生寫函數都沒教會,雖然表面上他們連面向對象這么高深的東西都教。

3,縮進要對。這點很重要,雖然大部分語言不是像Python那樣用縮進來決定邏輯塊的位置,但是人看到縮進的時候,總是會以為這些縮進位置跟邏輯相關。尤其是在有大量的ifelse或者for循環等等的嵌套邏輯的時候,如果縮進錯了,可能會直接讓人把程序的邏輯讀錯。所以我拿到別人的代碼,***件事情就是整理縮進。我見過一些比較優秀的頁面工程師,他們會在div結束的位置用注釋寫上這個div的id,這樣層級關系就一目了然了。

4,不斷重構。隨著程序的不斷修改,有些部分會不斷的增長,原來看著清晰的架構可能因為問題的復雜而慢慢模糊,也可能被修正bug的權宜之計弄的面目全非。不信你找一個經過多次修改的程序看看,是不是滿目瘡痍,是不是都很難認出是你自己的作品了。這在多人參與的項目中更加嚴重,每個人有不同的代碼風格,經過多次雜交后,你肯定認不出你的代碼是騾子是馬,還是四不像了。隨著程序的慢慢成長,原來有些函數體會慢慢膨脹,需要拆分;有些原來簡單的功能塊四處都需要,應該被提煉成函數或者方法,等等。現在不重構,未來等到代碼復雜到無法控制的時候,重構的工作就會變得更加困難。我見過***的案例是,一個幾千行的電子辭典配套聯機軟件,經過無數次的改版,變成了一個幾乎無法維護的主窗體的cpp有1萬8千行的怪物。***經過復雜的重構,才變成一個出新版本只需要新增一個驅動程序的可以維護的幾千行的程序。

原文鏈接:http://navy3.blog.sohu.com/85832196.html

【編輯推薦】

  1. 通向程序員之路的捷徑——SCJP
  2. 一個程序員創業失敗的教訓
  3. 分享研發小組故事 看程序員六大職業素養
責任編輯:張攀 來源: 搜狐博客
相關推薦

2015-08-20 09:31:35

2020-05-12 12:52:21

架構菜鳥程序員

2015-08-18 15:22:59

程序員成長階段

2017-03-02 09:37:36

PHP程序員成長規劃

2014-10-17 18:31:05

PHP

2019-01-14 08:26:55

程序員團隊職業

2012-08-15 10:47:27

2015-05-29 11:14:31

程序員開始看書

2013-03-28 15:50:37

程序員Java

2014-09-28 15:13:21

程序員代碼行數

2011-05-11 17:49:12

PHP

2015-03-19 14:50:27

編程拖拽編程合格程序員

2016-09-27 17:29:23

騰訊云小程序微信

2015-04-08 10:57:15

程序員程序員四年經歷

2011-12-23 09:16:19

2014-08-13 11:11:58

程序員

2010-10-18 09:59:22

PHP程序員Web開發

2021-07-30 10:41:57

程序員IT互聯網

2020-04-04 20:59:28

程序員技術開發

2021-08-16 14:22:19

JetBrainsDevOps
點贊
收藏

51CTO技術棧公眾號

四虎影视成人精品国库在线观看| 欧美精品 日韩| 亚洲国产一区二区三区在线观看| 成人欧美一区二区| 偷拍自拍在线看| 亚洲国产人成综合网站| 久久久999国产| 午夜伦伦电影理论片费看| 天堂av一区| 三级欧美韩日大片在线看| 久久夜色精品国产噜噜av| 亚洲免费视频观看| ·天天天天操| 久久久久综合网| 欧美成人亚洲成人| 久久mv成人精品亚洲动漫| 久久久久电影| 亚洲国产古装精品网站| 久草综合在线观看| 99久久99久久精品国产片果冰| 日韩欧美资源站| 在线观看成人影院| 国产激情视频一区二区三区欧美| 欧美精品中文字幕一区| 欧美日韩色网| 国产精品久久久久久久久免费樱桃| 91pron在线| 成人在线视频区| 日韩欧美中文在线| 涩涩漫画在线观看| 国产三级精品三级| 亚洲精品免费看| 欧美日韩精品免费观看| 香蕉大人久久国产成人av| 7777精品伊人久久久大香线蕉经典版下载 | 国产精品白丝久久av网站| 黄色成人在线观看网站| 四虎4545www精品视频| 免费不卡中文字幕在线| 国产一区二区在线视频| 欧美洲成人男女午夜视频| 在线观看av影片| 日韩av网站在线观看| 欧美激情久久久久| 波多野结衣欧美| 一区二区三区在线不卡| av动漫免费看| 艳色歌舞团一区二区三区| 国产精品毛片一区二区在线看| 欧美一级电影在线| 中文字幕一区二区三区日韩精品| 国产亚洲一区二区在线| 爱啪视频在线观看视频免费| 在线播放91灌醉迷j高跟美女 | 国产精品69久久| 亚洲大片av| 亚洲精品欧美精品| 国产精品亚洲综合一区在线观看| 男女超爽视频免费播放| 91精品国产66| 免费精品视频| 国产精品果冻传媒潘| 久久精品高清| 国产亚洲精品久久久| 正在播放日韩精品| 亚洲精品国产免费| 日本午夜免费一区二区| 中文字幕日韩综合av| 在线视频成人| 久久精品电影网站| 蜜桃精品噜噜噜成人av| 国产精品久久久久久久久久新婚 | 亚洲国产视频一区二区| 久久婷婷蜜乳一本欲蜜臀| 国产传媒在线| 亚洲1024| 久久久久久国产精品一区| 中文字幕在线一区免费| 欧美色另类天堂2015| 亚洲欧美日韩成人| 日日夜夜免费精品| av在线免费播放| 欧美精品九九久久| 美女久久精品| 日韩av电影免费在线观看| 日本怡春院一区二区| 亚洲三区在线| 亚洲精品一级| 乱妇乱女熟妇熟女网站| 国产精品主播直播| 看一级黄色录像| 99re6这里只有精品| 国产精品福利网| 日韩大尺度在线观看| 国产精品国产精品| 丁香激情综合国产| 天天激情综合| 久久久视频在线| 亚洲一区观看| 成年人视频在线| 在线电影av不卡网址| 9色精品在线| 韩国三级av在线免费观看| 亚洲福利影片在线| 奇米四色…亚洲| 大地资源高清播放在线观看| 亚洲不卡一区二区三区| 九九九在线观看视频| 亚洲免费av在线| 日本一卡二卡四卡精品| 欧美国产第一页| 精品在线免费视频| 1stkiss在线漫画| 久久久极品av| 日精品一区二区| 女性女同性aⅴ免费观女性恋| 91福利国产成人精品照片| 欧美成人精品一区二区男人看| 97福利一区二区| 久久亚洲影视婷婷| 国产在线精彩视频| 欧美午夜精品久久久久免费视| 国产精品免费久久| 免费在线看黄| 51国偷自产一区二区三区| 久久久精品中文字幕麻豆发布| 久久av导航| 亚洲欧美另类动漫| 欧美精品手机在线| 国产一区二区91| 黄色片久久久久| 中文字幕亚洲无线码在线一区| 日韩精品91亚洲二区在线观看| 欧美一区二区三区四区在线观看地址| 亚洲激情网站| 在线播放色视频| 超碰成人在线免费观看| 久久久女女女女999久久| 欧美日本一区二区三区| 这里只有精品在线| 精品欧美国产| 尤物视频在线免费观看| 这里只有精品视频| 一区二区激情| 黄色网战入口| 一本色道久久综合狠狠躁篇怎么玩| 在线中文av| 国产成人a亚洲精品| 99久久国产免费看| 欧美亚洲韩国| 日韩.欧美.亚洲| 色婷婷av一区二区三区gif| 日韩福利视频一区| 日本成年人网址| 亚洲欧美中文字幕| 视频在线观看一区二区三区| 男女污视频在线观看| 国产91免费看片| 中文字幕高清不卡| 成人在线精品| 国产精品涩涩涩视频网站| 深夜福利在线看| 国产精品swag| 国产精品人成电影在线观看| 欧美日韩情趣电影| 国产麻豆精品久久一二三| 久久69av| 123区在线| 欧美大黑帍在线播放| 欧美综合欧美视频| 亚洲国产精华液网站w| 99精品全国免费观看视频软件| 大胆av不用播放器在线播放| 91极品女神在线| 国产精品青草久久| 亚洲视频精品| 性欧美1819sex性高清| 日本精品一区二区三区视频| 99久久精品免费看国产一区二区三区 | 爱情岛论坛亚洲入口| 日韩午夜激情av| 欧美刺激午夜性久久久久久久| 精品久久久久人成| 欧洲另类一二三四区| 欧美日韩中文字幕日韩欧美| 国产成人在线视频免费播放| 爱情电影社保片一区| 色琪琪免费视频网站| 久久99精品久久久水蜜桃| 亚洲第一精品福利| 久久蜜桃av一区精品变态类天堂| 日韩精品国产欧美| 久88久久88久久久| 日韩一级网站| 欧美大胆视频| 美女的胸无遮挡在线观看 | 婷婷丁香在线| 欧美性受xxxx黑人猛交88| 久久精品99国产精品酒店日本| 欧美精品123区|