導航:首頁 > 程序命令 > 程序員經常出錯

程序員經常出錯

發布時間:2024-11-11 04:42:41

『壹』 程序員如何讓自己的程序少出BUG(轉)

軟體測試心得
,而且還經常寫一些工作上的事,現在感覺自己老了似的,開始轉型了,會選擇寫一些總結而不是瑣碎,也許這是我以後當領導的徵兆吧。
程序員是善於思考的一個職業,做過這行的都知道,寫一個程序的過程都要經過構思、設計、寫代碼、測試到最後運行這幾個步驟。慢慢地,這個習慣也被搬到了生活中,現在我才覺得,我平時做事這么的冷靜善思考原來是工作影響的原因。
象我一樣,大多程序員都有一個毛病,或者說一個習慣,自己編寫過的代碼都不願意測試,他們憑著自己的習慣,理論上完成了代碼的編寫就認為自己的工作結束了,剩下的工作應該交給測試人員了。但實際上來講,如果代碼存在BUG,造成軟體在運行期出錯,那麼測試人員和客戶肯定會發現這些BUG的,再等到測試人員或者客戶把BUG反饋回來的時候代價就已經很大了,不僅僅是時間的浪費,更重要的還有1、影響了客戶對產品以及公司的信任度,2、影響了程序員自己的聲譽,3、影響了代碼的可讀性以及質量,4、增加 了DEBUG的難度,5、對程序員的心理造成一定的影響。
首先,程序員應該克服自己身上的一些缺點,這是很重要的一點,因為每個程序員都有自己的編程習慣,而且每個程序員對自己剛剛完成的程序都會信心百倍的說「絕對沒問題」,實際上這種想法很正常,因為每段代碼都是通過程序員認真謹慎的思考和設計之後才寫出來的,在設計時已經排除了很多問題,所以程序員不會將自己認為不正確的判斷寫到程序里,但這僅僅是理論上的想法,但人哪有不反錯的時候。其實程序員在讀其他人寫的程序的時候,就會很謹慎,仔細找到程序上的錯誤,但對自己的代碼就很難這樣做,如果把這種謹慎應用到自己的代碼上來,BUG會減少到最少。軟體工程所說的各階段工作想必大家都清楚,前期的設計以及需求分析才是一個軟體工程的重點,這里也是花費時間最多的地方,當對要寫的程序有了一個清晰的輪廓之後再動手編寫代碼。
第二,剛剛提到的前期設計,是指在編寫代碼之前所作的工作,這要求程序員對系統的整個結構以及邏輯有很清楚的理解,這也要求對系統的需求做到位。我沒有寫過文檔,所以這里不談文檔了。思路清晰很重要,但每個人並不能將系統的整個設計思路都記在腦袋裡,那最好就寫下來,特別是一些復雜的邏輯結構關系還有復雜的演算法
第三,代碼的編寫,要盡量減少拼寫的錯誤,嚴禁使用關鍵字作為變數來使用,要盡量做到代碼模塊化,並且保證其正確性和可重復使用性。因為是模塊組成的,寫過之後可以將每個模塊部分單獨測試,因為代碼量少了質量自然提高了。對順序執行要求很高的函數盡量不採用調用子函數的方法,讓程序按順序走吧。
第四:代碼檢查以及系統功能測試,這是保證代碼質量的最後一步了,我們可以寫一些代碼模塊或者小工具來進行測試工作,跟蹤變數值的變化,使用一些小技巧在這個階段都是必要的,這里和測試人員的測試不同之處在於:仍然讓程序員的注意力放在其自己的代碼范圍內,減小了排錯的難度。
按照如上步驟來走的話,那麼我想你的系統應該足夠健壯了。
把對待別人代碼的態度放到自己的代碼上來,也就是反復的Review自己的代碼檢查邏輯錯誤也是相當好的辦法。別把自己辛苦寫的代碼看的很值錢,在團隊中盡量與別人分享、Review代碼這是實際工作的經驗。
作為一個優秀的程序員要具備這些習慣,看自己的代碼就象對待自己的一樣,愛惜、呵護是必須的,同時也要象園丁一樣及時修剪多於的樹枝來讓自己的代碼走正確的道路。

『貳』 java編程中 常見的異常有哪幾種

相信作為程序員的我們在對程序進行編譯過程中經常會遇到錯誤,或者在運行過程中出現錯誤,在這里主要跟大家談談經常遇到的一些異常與錯誤,以及解決辦法。

異常是指程序在編譯或運行過程出現的錯誤。

在java.lang包中Throwable包含了所有的異常。

Error (錯誤) 和Exception(異常)

(1)Error(錯誤)

一旦發生無法修復,但可以避免發生。

常見錯誤類:

IOError:I/O錯誤,當發生嚴重的I/O錯誤時,拋出此錯誤。
VirtualMachineError:虛擬機錯誤,當 Java 虛擬機崩潰或用盡了它繼續操作所需的資源時,拋出該錯誤。

StackOverflowError:棧內存滿了,當應用程序遞歸太深而發生堆棧溢出時,拋出該錯誤。

OutofMemoryError:堆內存滿了,因為內存溢出或沒有可用的內存提供給垃圾回收器時,Java 虛擬機無法分配一個對象,這時拋出該異常。

以上是一些常見的錯誤,在Error類中還有一些別的錯誤(參照文件Java.lang.Throwable.Error).

(2)Exception(異常)

一旦發生,可以捕獲並處理,不會導致程序終止,有時可以避免有時無法避免。

異常的分類:

1.編譯時異常(需要強制處理) 2.運行時異常(不需要強制處理)

常見的異常有:

IOException:輸入輸出流異常
FileNotFoundException:文件找不到的異常
ClassNotFoundException:類找不到的異常
DataFormatException:數據格式化異常
NoSuchFieldException:沒有匹配的屬性異常
NoSuchMethodException:沒有匹配的方法異常

SQLException:資料庫操作異常
TimeoutException:執行超時異常

常見的運行時異常:

RuntimeException:運行時異常
NullPointerException:空指針異常

:數組越界異

ClassCastException:類型轉換異常
IllegalArgumentException:非法的參數異常
InputMismatchException:輸入不匹配

以上是常見的一些異常,另外還有別的異常,參見文件:Java.lang.Throwable.Exception

既然我們常常會遇到一些異常,那我們如何來處理這些異常就是一個急需解決的事情。

(1) 如何處理編譯時異常?

方法一:將需要處理的代碼塊放在一個try...catch...中
try{
//需要處理異常的代碼
}catch(XXXException ef){
ef.printStackTrace();
}

我們方法一就是要將我們不確定的代碼放入try......catch中,先進行try一下,如果沒有異常,則不會觸發catch,沒有輸出,一旦出現異常,那麼catch就會工作,在catch中捕獲異常信息,根據異常信息進行補救措施。

如以下代碼:

從結果可以看出,我們在輸入數據的時候出現錯誤,這樣通過自定義異常能夠讓我們更直接快速的找到運行或編譯時的異常。

在上述中我們分別提到了三種throw,分別是Throwable,Throws以及throw,那麼到底三者有什麼區別?

Throwable:是指在在Java.lang包中的一個類,其包含了所有的異常和錯誤,其中類Error和Exception 是它

的子類。

Thows:是指在解決編譯時異常,將方法中異常拋給上一級,在方法後面要加Throw Exception來進行拋。

throw:是指在自定義異常時,如果方法出現異常,那麼將作為引用方法的對象拋出。即拋出異常。

希望對您有所幫助!~

『叄』 新程序員,剛入職兩個月,感覺好鬧心,簡單需求有時出錯,復雜需求又做不來,而且有好多不會的東西。

先裝傻,不要盲目去揣度上級的想法。新人剛進公司,基本都是這樣的,剛開始一年時間是最難混的。只要你自己有態度,肯努力,多學習,會熬過去的。如果最後經理主動提出不留你,那也沒辦法了,就只能走了。

『肆』 程序員寫程序時經常出錯嗎我剛學c,寫的100行左右代碼就有好幾個問題上萬行的代碼那是怎麼寫的啊

呵呵、、、出錯很正常啊!你剛開始學習,不要太把錯誤放在心上,重要是解決錯誤的辦法和過程。至於那上萬行的代碼,大型程序都是模塊化編寫的,不是一c文件。那是要分成若干c文件,不能c文件中放著不同的函數(對應相應的功能),單個c文件編譯容易發現錯誤。最後將所有的c文件整體編譯。就這樣!!模塊化編程思想!!

『伍』 鐢佃剳涓閿欒鎸囦護鏄浠涔堟剰鎬

閿欒鎸囦護鏄鎸囩數鑴戝湪鎵ц岀▼搴忔垨鎿嶄綔鏃訛紝鐢變簬鏌愮嶅師鍥犳棤娉曟g『鎵ц屾垨鐞嗚В鐨勬寚浠ゃ傝繖浜涢敊璇鎸囦護鍙鑳戒細瀵艱嚧紼嬪簭宕╂簝銆佹暟鎹涓㈠け鎴栫郴緇熶笉紼沖畾絳夐棶棰樸

閿欒鎸囦護閫氬父鏄鐢變互涓嬪嚑涓鍘熷洜寮曡搗鐨勶細

1. 璇娉曢敊璇錛氳繖鏄鏈甯歌佺殑閿欒鎸囦護綾誨瀷涔嬩竴銆傚傛灉紼嬪簭鍛樺湪緙栧啓浠g爜鏃朵笉灝忓績鐘浜嗚娉曢敊璇錛屾瘮濡傛嫾鍐欓敊璇銆佹嫭鍙蜂笉鍖歸厤絳夛紝緙栬瘧鍣ㄥ氨鏃犳硶姝g『瑙f瀽榪欎簺鎸囦護錛屽艱嚧緙栬瘧澶辮觸鎴栫▼搴忚繍琛屾椂宕╂簝銆

2. 閫昏緫閿欒錛氬嵆浣挎寚浠ょ殑璇娉曟槸姝g『鐨勶紝浣嗗傛灉瀹冧滑鐨勯昏緫涓嶆g『錛屼篃鍙鑳藉艱嚧紼嬪簭鍑虹幇閿欒銆備緥濡傦紝濡傛灉紼嬪簭涓鐨勬煇涓寰鐜娌℃湁姝g『鐨勭粓姝㈡潯浠訛紝閭d箞瀹冨彲鑳戒細鏃犻檺寰鐜涓嬪幓錛屽艱嚧紼嬪簭宕╂簝鎴栧崰鐢ㄨ繃澶氳祫婧愩

3. 紜浠墮棶棰橈細鏈夋椂鍊欙紝閿欒鎸囦護鍙鑳芥槸鐢變簬紜浠墮棶棰樺紩璧風殑銆備緥濡傦紝濡傛灉鐢佃剳鐨勫唴瀛樻垨澶勭悊鍣ㄥ嚭鐜版晠闅滐紝閭d箞瀹冧滑鍙鑳芥棤娉曟g『鎵ц屾寚浠ゃ傛ゅ栵紝濡傛灉鐢佃剳鐨勭數婧愪笉紼沖畾錛屼篃鍙鑳藉艱嚧鎸囦護鎵ц屽嚭閿欍

涓轟簡閬垮厤閿欒鎸囦護鐨勫彂鐢燂紝紼嬪簭鍛橀渶瑕佷粩緇嗘鏌ヤ唬鐮侊紝紜淇濊娉曞拰閫昏緫閮芥槸姝g『鐨勩傚悓鏃訛紝浠栦滑榪橀渶瑕佸圭▼搴忚繘琛屽厖鍒嗙殑嫻嬭瘯錛屼互渚垮彂鐜板苟淇澶嶅彲鑳藉瓨鍦ㄧ殑閿欒銆傛ゅ栵紝淇濇寔鐢佃剳紜浠剁殑鑹濂界姸鎬佷篃闈炲父閲嶈侊紝榪欏彲浠ョ『淇濇寚浠よ兘澶熸g『鎵ц屻

涓句釜渚嬪瓙錛屽亣璁句竴涓紼嬪簭鍛樻e湪緙栧啓涓涓璁$畻紼嬪簭錛屼粬闇瑕佽╃▼搴忚誨彇涓涓鏁板瓧騫跺皢鍏朵箻浠2銆傚傛灉紼嬪簭鍛樹笉灝忓績灝嗕箻娉曟寚浠ゅ啓鎴愪簡鍔犳硶鎸囦護錛岄偅涔堢▼搴忓氨浼氭墽琛岄敊璇鐨勬搷浣滐紝瀵艱嚧璁$畻緇撴灉涓嶆g『銆傝繖灝辨槸涓涓鍏稿瀷鐨勭敱浜庨昏緫閿欒瀵艱嚧鐨勯敊璇鎸囦護銆備負浜嗛伩鍏嶈繖縐嶆儏鍐電殑鍙戠敓錛岀▼搴忓憳闇瑕佷粩緇嗘鏌ヤ唬鐮侊紝紜淇濇瘡涓鎸囦護閮芥槸姝g『鐨勩傚悓鏃訛紝浠栦滑榪橀渶瑕佸圭▼搴忚繘琛屾祴璇曪紝浠ヤ究鍙戠幇騫朵慨澶嶅彲鑳藉瓨鍦ㄧ殑閿欒銆

閱讀全文

與程序員經常出錯相關的資料

熱點內容
程序員都是精英 瀏覽:17
10種編程語言 瀏覽:747
綿陽學駕駛手機上下什麼app 瀏覽:126
python如何模擬網頁操作 瀏覽:40
單片機多文件編譯方法 瀏覽:838
不動產壓縮時間 瀏覽:569
租房管理平台源碼 瀏覽:65
復樂園pdf 瀏覽:455
程序員找到公交車 瀏覽:695
嬰兒寶寶操有什麼APP推薦 瀏覽:71
如何將資料庫附加到伺服器上 瀏覽:391
php退出循環 瀏覽:479
夢幻西遊怎麼修改伺服器人數上限 瀏覽:330
自動開啟命令 瀏覽:845
查詢雲伺服器訪問的ip 瀏覽:836
智能app的弱點是什麼 瀏覽:410
php實現的n 瀏覽:544
Python寫出特效 瀏覽:976
加密的zip壓縮包修復 瀏覽:415
安卓系統源碼如何混淆 瀏覽:291