天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

調試高手和編程高手

  業界總是有高手之說,高手成了程序員心中之偶像,成了程序員成長之目標。但是,現實中人們往往對自己所了解的程序員,很難認同為高手;人們反而對那些自己不了解的,甚至是道聽途說的人會認作為高手了。高手,同武林高手一樣,神秘之至。

  許多程序員都有這樣的經歷:無論自己編寫什么很短很短的程序,一般是很難一次就能通過編譯的;通過編譯的其功能還不一定是正確的。我在很早就注意這樣現象了,開始的時候,我還不信這個邪,還試著編寫程序看看自己能否一次能否編譯成功,為這個事還和別人打過賭呢!這當然是年輕時做過的事了。后來我漸漸明白了,編程出錯是編程的一個重要的部分!出錯是正常的,不出錯才是不正常的。出錯怎么辦?當然是改錯啦!不知道錯在什么地方怎么辦?當然是調試啦!調試于是和編程相依相伴了。程序員不但要會編寫程序,還要會調試程序。

  程序出錯一般有:未定義、語法、運行出錯三個方面。

  1、未定義

  未定義往往是程序員的忽略定義或定義后名稱與定義不一致造成的。

  1)要避免忽略定義這個問題,程序員首先要養成嚴謹工作的習慣:“先定義,后使用”。

  2)解決定義名字與使用名字不一致問題,程序員在對函數名、變量名、文件名、數據庫名、表名、字段名定義的時候,不要信手拈來,象不花錢似的任意取名。一定要定下心來慢慢地斟酌,這個名字自己不但要能懂能記得,別人一看也要能懂能記得。程序員可以假設自己定義一個變量就要花出去100元錢,如果別人看不懂就要另外支付200元。有了這種名字的“有償使用”,這樣程序員就不可能亂取名了。長此以往,在使用這些名字的時候程序員就會有行云流水感覺,而且很少出錯。

  2、語法問題

  1)新手編程走一步一個跟頭,走兩步兩個跟頭,主要是對語言的語法不熟悉,丟三拉四,關鍵字拚錯等。這種情況不可怕,多看看語法說明,多改改程序就會對語法越來越熟悉了。

  2)老程序員語法問題出現較少。但是,很多情況下程序員在使用新語言編程序的時候,會采用老語言的語法,反之亦然,導致出錯。例如,某人先使用C語言,后使用VFP。當用VFP編程的時候,往往習慣性地在語句后面加上“;”,這導致VFP語法出錯。當熟悉VFP后,再編寫C語言的時候,往往在語句后面忘記加上“;”,導致C語言語法出錯。類似常見問題如:IF語句后面表達式是否要加“()”等,for 語句,while 語句,case語句在不同的語言的語法都有可能不同。另外,不同數據庫中的SELECT 、INSERT、語法都有一些不同處,這些不同之處,往往讓程序員不知所措,老是要停下來思考一下,現在用的是什么語言用的是什么語法。

  3、運行問題

  定義、語法這些都是顯式出錯,相對好解決。但是運行中出現錯誤就五花八門了,我試著歸納一下:

  1)運行中程序突然中斷了并退出了。

  往往是內存出錯!可查變量、指針是否越界,指針是否為空等、例外沒有處理。

  2)環境問題

  例如,數據庫密碼錯導致數據庫打開不了、要打開的文件不存在、參數定義錯,參數表為空,參數表沒有缺省值等。

  3)程序的輸出的不是自己的預期結果

  往往是程序邏輯和算法存在問題。

  4)程序不停地運行沒有停止的跡象

  查一下循環的條件表達式是否永真、導致死循環。

  5)程序無法退出

  程序亂了,導致內存錯,覆蓋了退出指令!

  6)程序運行了很長時間才出現了錯誤

  累計誤差、數據原因造成的錯誤等。

  出錯是必然的,如何找出錯誤,有些人編寫C語言的人只會用在可能出錯的語言前后,通過顯示語句print來判別出錯的原因。他們不懂debug、 sdb、 dbx等調試工具,來調試程序,他們會編不會調。我們很難想象不會調試的程序員是如何編程的,調試對于程序員如此重要,以致于可導致出“不會調試的程序員就不是程序員”的結論。

  現在的開發語言具有功能豐富的調試命令。無論用什么設計語言調試,你只要注意掌握以下幾個命令或操作,就能入門調試了:

  1、 運行程序

  2、 設置斷點、取消斷點

  3、 運行到斷點

  4、 單步跟蹤(setp into)

  5、 單步執行(step over)

  6、 顯示變量、對象、源程序

  7、 退出調試

  你可以按此去尋找相應的命令和操作,并熟記于心中!此法必有大用。

  通過調試,程序員可以學會如何運用斷點、如何最快地找到可疑語句,如何很迅速地找到問題所在從而改進程序。而不斷地調試,使得程序員不停進行調試操作,變成了操作高手。調試內容可以說千變萬化,技巧也多多,關鍵看程序員的積累。例如,循環語句調試的技巧、同步異步調試的技巧、中斷調試技巧、外設調試技巧、數據庫調試技巧、邊界調試技巧、例外調試技巧、屏蔽法調試技巧、替代法調試技巧、接口調試技巧等等。

  調試象開車一樣,不會開的時候,程序員有恐懼感,會開了以后,程序員特別想調,開多了,程序員越發老練,調試操作越來越快、對問題發生的原因和糾正方法也熟記于心中,技巧也油然而生,積累越來越多。

  好的程序員不但調試自己的程序,而且會幫助其他程序員解決調不出來的程序的問題。程序員在幫助別人的時候,更能盡顯調試才華,成為真正的調試高手。

  調試總的目標是為了糾正程序的錯誤。但是,調試也可用于其他的用途。例如,我經常會先把函數的調用語句給寫好,但是不寫函數體,這樣每次編譯都會出現函數沒有發現的提示。我不寫函數體的目的,就是讓每次編譯的時候提示我還有多少函數沒有編寫。讓我對這個函數加深印象,給我有時間思考這個函數如何編寫。當其他語句編寫完后,我再一個一個把沒有編寫的函數內容補上,這個時候編寫就快的多了。有的時候,我還喜歡看到幾十條上百條的出錯提示,然后,我感覺于一個改錯就能消滅幾十個錯誤的快感之中,然后再改再調,直到無錯。調試成了我娛樂編程的一部分。 

  通過調試你也會發現:編程水平直接影響到調試。如果程序很具有模塊性,調試起來就很快,幾個或十幾個單步執行就會到達程序的任何地方,如果程序本身邏輯性不強,變量命名不準確、一個函數內語句有數十條數百條,那你幾百個單步執行都到達不了你想要達到的地方,程序調試起來就會很麻煩,而且不容易定位出錯的地方。所以調試高手往往會改進自己的編程,使得編程水平日益提高,成為編程高手。

it知識庫調試高手和編程高手,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 欧美一区二区三区久久综 | 动漫美女的禁 | 国产精品A8198V久久A片 | 全彩黄漫火影忍者纲手无遮挡 | 3D漫画H精品啪啪无码 | 草草久久久无码国产专区全集观看 | 色偷偷7777www | 热热久久超碰精品中文字幕 | 蜜桃成熟时33D在线嘟嘟网 | 亚洲日本欧美天堂在线 | 亚洲AV 无码AV 中文字幕 | 精品视频免费在线观看 | 免费看国产曰批40分钟 | 成年女人免费播放影院 | 国产亚洲精品久久久久久白晶晶 | 91精品乱码一区二区三区 | 97色伦图片7778久久 | 出租屋交换人妻 全文 | 亚洲黄色免费观看 | 亚洲视频欧美在线专区 | 黄色一级毛片免费 | 日本中文字幕伊人成中文字幕 | 亚洲欧美成人无码久久久 | 免费国产成人高清在线看软件 | 日本成熟bbxxxxxxxx | 99这里有精品视频视频 | 欧美成人无码A区在线观看免费 | 女人张开腿让男人桶爽免 | 欧美fxxx| 亚洲 欧美 制服 校园 动漫 | 我的奶头被客人吸的又肿又红 | 蜜芽视频在线观看视频免费播放 | 在线视频久久只有精品第一日韩 | 妖精视频免费高清观看 | 日本久久久免费高清 | 色综合久久天天影视网 | av天堂影音先锋在线 | 国产午夜亚洲精品不卡电影 | 产传媒61国产免费 | 漂亮美女2018完整版 | 午夜性色一区二区三区不卡视频 |