導航:首頁 > 程序命令 > 程序員報錯30種表現

程序員報錯30種表現

發布時間:2022-09-23 06:14:29

A. javaScript常見的八種編程錯誤問題

JavaScript編程開發語言可以說是大部分程序員都需要掌握的一種編程語言,而今天我們就一起來了解一下,在使用JavaScript編程的時候都有哪些常見的錯誤問題。



1. Uncaught TypeError: Cannot read property

如果你是一個 JavaScript 開發人員,可能你看到這個錯誤的次數比你敢承認的要多(LOL)。當你讀取一個未定義的對象的屬性或調用其方法時,這個錯誤會在 Chrome 中出現。 您可以很容易的在 Chrome 開發者控制台中進行測試(嘗試)。

2. TypeError: 『undefined' is not an object

這是在 Safari 中讀取屬性或調用未定義對象上的方法時發生的錯誤。您可以在 Safari Developer Console 中輕松測試。這與 1 中提到的 Chrome 的錯誤基本相同,但 Safari 使用了不同的錯誤消息提示語。

3. TypeError: null is not an object

這是在 Safari 中讀取屬性或調用空對象上的方法時發生的錯誤。 您可以在 Safari Developer Console 中輕松測試。

4. (unknown): Script error

當未捕獲的 JavaScript 錯誤(通過window.onerror處理程序引發的錯誤,而不是捕獲在try-catch中)被瀏覽器的跨域策略限制時,會產生這類的腳本錯誤。

5. TypeError: Object doesn't support property

這是您在調用未定義的方法時發生在 IE 中的錯誤。 您可以在 IE 開發者控制台中進行測試。

6. TypeError: 『undefined' is not a function

當您調用未定義的函數時,這是 Chrome 中產生的錯誤。昆明電腦培訓 http://www.kmbdqn.com/認為您可以在 Chrome 開發人員控制台和 Mozilla Firefox 開發人員控制台中進行測試。

7. Uncaught RangeError: Maximum call stack

這是 Chrome 在一些情況下會發生的錯誤。 一個是當你調用一個不終止的遞歸函數。您可以在 Chrome 開發者控制台中進行測試。

B. 海南北大青鳥:新手程序員易犯的六個錯誤

新手零基礎學習編程,每天不可避免的都會遇到各種問題,難免會感覺很迷茫。
海南北大青鳥http://www.kmbdqn.cn/整理了新手程序員易犯的五個錯誤及解決措施,希望能讓大家少入坑。
不使用版本控制系統一旦你開始對代碼有點熟悉的時候,學習如何使用VCS就應該成為你的首要任務。
這個系統有很多的高級功能,這對我們來說很重要。
但一開始,通常會專注於settinguprepository以及committing,這有助於新手跟蹤開發的進度。
然後,學習fetching/pulling和pushing的概念也是很重要的,這樣就可以擁有一個在線備份存儲庫。
2.不去閱讀比你優秀的程序員的代碼北大青鳥校區老師相信這是學習的一個重要部分。
新手學員常常疑惑,我為什麼還要花時間去讀別人的代碼,在一個較大的開源社區里,學習者會有機會向優秀的程序員學習。
在這里,新手可以找到一些使用你熟悉的代碼編寫的項目,並對它們進行深入挖掘和理解。
當然不必理解所有的內容,只需要分析其中一小部分代碼,這些都會讓你受益匪淺。
3.快速切換語言或技術的確,能學到一點東西的感覺會很好,在語言和技術之間切換也是有趣的。
但如果新手學習者在學習過程中經常這樣做,就會適得其反,也會給造成很大的損失。
相反,如果對一項技術有很深入的了解,想要切換其他技術語言就會變得很容易。
4.沒有完成主要項目這是北大青鳥校區老師在觀察學員自我學習過程中易犯的一個問題。
一大部分新來的學員對軟體體系結構有著很大的興趣,喜歡嘗試不同的模式,框架和方法來學習一些特定需求很好的編程實踐。
但通常,部分在編寫了代碼的核心部分以形成一個很小的工作演示後,就傾向於「置之不理」,然後轉移到別的項目上。
5.不關心代碼質量vs過於關心代碼質量沒有質量問題的醜陋代碼比有質量問題的漂亮代碼更好。
一開始可以不關心代碼質量,只要你對這個問題有意識,並且願意在編程結束時進行清理和解決問題。
代碼質量是很重要的,但如果沒有找到平衡,就可能會過度框架住新手的應用程序。
6、不對代碼進行單元測試單元測試可能會讓你覺得在莫名其妙地重復著工作。
但是,將測試加入到學習的工作流程中,這從很多方面看都是有益的。

C. 安卓常見異常

在Java中異常機制的一些概念。寫本文的目的在於方便我很長時間後若是忘了這些東西可以通過這篇文章迅速回憶起來。
1. 異常機制
1.1 異常機制是指當程序出現錯誤後,程序如何處理。具體來說,異常機制提供了程序退出的安全通道。當出現錯誤後,程序執行的流程發生改變,程序的控制權轉移到異常處理器。
1.2 傳統的處理異常的辦法是,函數返回一個特殊的結果來表示出現異常(通常這個特殊結果是大家約定俗稱的),調用該函數的程序負責檢查並分析函數返回的結果。這樣做有如下的弊端:例如函數返回-1代表出現異常,但是如果函數確實要返回-1這個正確的值時就會出現混淆;可讀性降低,將程序代碼與處理異常的代碼混爹在一起;由調用函數的程序來分析錯誤,這就要求客戶程序員對庫函數有很深的了解。
1.3 異常處理的流程
1.3.1 遇到錯誤,方法立即結束,並不返回一個值;同時,拋出一個異常對象
1.3.2 調用該方法的程序也不會繼續執行下去,而是搜索一個可以處理該異常的異常處理器,並執行其中的代碼
2 異常的分類
2.1 異常的分類
2.1.1 異常的繼承結構:基類為Throwable,Error和Exception繼承Throwable,RuntimeException和 IOException等繼承Exception,具體的RuntimeException繼承RuntimeException。
2.1.2 Error和RuntimeException及其子類成為未檢查異常(unchecked),其它異常成為已檢查異常(checked)。
2.2 每個類型的異常的特點
2.2.1 Error體系 Error類體系描述了Java運行系統中的內部錯誤以及資源耗盡的情形。應用程序不應該拋出這種類型的對象(一般是由虛擬機拋出)。如果出現這種錯誤,除了盡力使程序安全退出外,在其他方面是無能為力的。所以,在進行程序設計時,應該更關注Exception體系。
2.2.2 Exception體系 Exception體系包括RuntimeException體系和其他非RuntimeException的體系
2.2.2.1 RuntimeException RuntimeException體系包括錯誤的類型轉換、數組越界訪問和試圖訪問空指針等等。處理RuntimeException的原則是:如果出現 RuntimeException,那麼一定是程序員的錯誤。例如,可以通過檢查數組下標和數組邊界來避免數組越界訪問異常。
2.2.2.2 其他(IOException等等)這類異常一般是外部錯誤,例如試圖從文件尾後讀取數據等,這並不是程序本身的錯誤,而是在應用環境中出現的外部錯誤。
2.3 與C++異常分類的不同
2.3.1 其實,Java中RuntimeException這個類名起的並不恰當,因為任何異常都是運行時出現的。(在編譯時出現的錯誤並不是異常,換句話說,異常就是為了解決程序運行時出現的的錯誤)。
2.3.2 C++中logic_error與Java中的RuntimeException是等價的,而runtime_error與Java中非RuntimeException類型的異常是等價的。
3 異常的使用方法
3.1 聲明方法拋出異常
3.1.1 語法:throws(略)
3.1.2 為什麼要聲明方法拋出異常?方法是否拋出異常與方法返回值的類型一樣重要。假設方法拋出異常確沒有聲明該方法將拋出異常,那麼客戶程序員可以調用這個方法而且不用編寫處理異常的代碼。那麼,一旦出現異常,那麼這個異常就沒有合適的異常控制器來解決。
3.1.3 為什麼拋出的異常一定是已檢查異常? RuntimeException與Error可以在任何代碼中產生,它們不需要由程序員顯示的拋出,一旦出現錯誤,那麼相應的異常會被自動拋出。而已檢查異常是由程序員拋出的,這分為兩種情況:客戶程序員調用會拋出異常的庫函數(庫函數的異常由庫程序員拋出);客戶程序員自己使用throw語句拋出異常。遇到Error,程序員一般是無能為力的;遇到RuntimeException,那麼一定是程序存在邏輯錯誤,要對程序進行修改(相當於調試的一種方法);只有已檢查異常才是程序員所關心的,程序應該且僅應該拋出或處理已檢查異常。
3.1.4 注意:覆蓋父類某方法的子類方法不能拋出比父類方法更多的異常,所以,有時設計父類的方法時會聲明拋出異常,但實際的實現方法的代碼卻並不拋出異常,這樣做的目的就是為了方便子類方法覆蓋父類方法時可以拋出異常。
3.2 如何拋出異常
3.2.1 語法:throw(略)
3.2.2 拋出什麼異常?對於一個異常對象,真正有用的信息時異常的對象類型,而異常對象本身毫無意義。比如一個異常對象的類型是 ClassCastException,那麼這個類名就是唯一有用的信息。所以,在選擇拋出什麼異常時,最關鍵的就是選擇異常的類名能夠明確說明異常情況的類。
3.2.3 異常對象通常有兩種構造函數:一種是無參數的構造函數;另一種是帶一個字元串的構造函數,這個字元串將作為這個異常對象除了類型名以外的額外說明。
3.2.4 創建自己的異常:當Java內置的異常都不能明確的說明異常情況的時候,需要創建自己的異常。需要注意的是,唯一有用的就是類型名這個信息,所以不要在異常類的設計上花費精力。
3.3 捕獲異常如果一個異常沒有被處理,那麼,對於一個非圖形界面的程序而言,該程序會被中止並輸出異常信息;對於一個圖形界面程序,也會輸出異常的信息,但是程序並不中止,而是返回用戶界面處理循環中。
3.3.1 語法:try、catch和finally(略)控制器模塊必須緊接在try塊後面。若擲出一個異常,異常控制機制會搜尋參數與異常類型相符的第一個控制器隨後它會進入那個catch 從句,並認為異常已得到控制。一旦catch 從句結束對控制器的搜索也會停止。 3.3.1.1 捕獲多個異常(注意語法與捕獲的順序)(略)
3.3.1.2 finally的用法與異常處理流程(略)
3.3.2 異常處理做什麼?對於Java來說,由於有了垃圾收集,所以異常處理並不需要回收內存。但是依然有一些資源需要程序員來收集,比如文件、網路連接和圖片等資源。
3.3.3 應該聲明方法拋出異常還是在方法中捕獲異常?原則:捕捉並處理哪些知道如何處理的異常,而傳遞哪些不知道如何處理的異常
3.3.4 再次拋出異常
3.3.4.1 為什麼要再次拋出異常?在本級中,只能處理一部分內容,有些處理需要在更高一級的環境中完成,所以應該再次拋出異常。這樣可以使每級的異常處理器處理它能夠處理的異常。
3.3.4.2 異常處理流程對應與同一try塊的catch塊將被忽略,拋出的異常將進入更高的一級。
4 關於異常的其他問題
4.1 過度使用異常首先,使用異常很方便,所以程序員一般不再願意編寫處理錯誤的代碼,而僅僅是簡簡單單的拋出一個異常。這樣做是不對的,對於完全已知的錯誤,應該編寫處理這種錯誤的代碼,增加程序的魯棒性。另外,異常機制的效率很差。
4.2 將異常與普通錯誤區分開對於普通的完全一致的錯誤,應該編寫處理這種錯誤的代碼,增加程序的魯棒性。只有外部的不能確定和預知的運行時錯誤才需要使用異常。
4.3 異常對象中包含的信息一般情況下,異常對象唯一有用的信息就是類型信息。但使用異常帶字元串的構造函數時,這個字元串還可以作為額外的信息。調用異常對象的getMessage()、toString()或者printStackTrace()方法可以分別得到異常對象的額外信息、類名和調用堆棧的信息。並且後一種包含的信息是前一種的超集。

D. 四川北大青鳥:新手程序員易犯的六個錯誤

新手零基礎學習編程,每天不可避免的都會遇到各種問題,難免會感覺很迷茫。
四川北大青鳥http://www.kmbdqn.cn/整理了新手程序員易犯的五個錯誤及解決措施,希望能讓大家少入坑。
不使用版本控制系統一旦你開始對代碼有點熟悉的時候,學習如何使用VCS就應該成為你的首要任務。
這個系統有很多的高級功能,這對我們來說很重要。
但一開始,通常會專注於settinguprepository以及committing,這有助於新手跟蹤開發的進度。
然後,學習fetching/pulling和pushing的概念也是很重要的,這樣就可以擁有一個在線備份存儲庫。
2.不去閱讀比你優秀的程序員的代碼北大青鳥校區老師相信這是學習的一個重要部分。
新手學員常常疑惑,我為什麼還要花時間去讀別人的代碼,在一個較大的開源社區里,學習者會有機會向優秀的程序員學習。
在這里,新手可以找到一些使用你熟悉的代碼編寫的項目,並對它們進行深入挖掘和理解。
當然不必理解所有的內容,只需要分析其中一小部分代碼,這些都會讓你受益匪淺。
3.快速切換語言或技術的確,能學到一點東西的感覺會很好,在語言和技術之間切換也是有趣的。
但如果新手學習者在學習過程中經常這樣做,就會適得其反,也會給造成很大的損失。
相反,如果對一項技術有很深入的了解,想要切換其他技術語言就會變得很容易。
4.沒有完成主要項目這是北大青鳥校區老師在觀察學員自我學習過程中易犯的一個問題。
一大部分新來的學員對軟體體系結構有著很大的興趣,喜歡嘗試不同的模式,框架和方法來學習一些特定需求很好的編程實踐。
但通常,部分在編寫了代碼的核心部分以形成一個很小的工作演示後,就傾向於「置之不理」,然後轉移到別的項目上。
5.不關心代碼質量vs過於關心代碼質量沒有質量問題的醜陋代碼比有質量問題的漂亮代碼更好。
一開始可以不關心代碼質量,只要你對這個問題有意識,並且願意在編程結束時進行清理和解決問題。
代碼質量是很重要的,但如果沒有找到平衡,就可能會過度框架住新手的應用程序。
6、不對代碼進行單元測試單元測試可能會讓你覺得在莫名其妙地重復著工作。
但是,將測試加入到學習的工作流程中,這從很多方面看都是有益的。

E. 湖南北大青鳥:新手程序員易犯的六個錯誤

新手零基礎學習編程,每天不可避免的都會遇到各種問題,難免會感覺很迷茫。
湖南北大青鳥http://www.kmbdqn.cn/整理了新手程序員易犯的五個錯誤及解決措施,希望能讓大家少入坑。
不使用版本控制系統一旦你開始對代碼有點熟悉的時候,學習如何使用VCS就應該成為你的首要任務。
這個系統有很多的高級功能,這對我們來說很重要。
但一開始,通常會專注於settinguprepository以及committing,這有助於新手跟蹤開發的進度。
然後,學習fetching/pulling和pushing的概念也是很重要的,這樣就可以擁有一個在線備份存儲庫。
2.不去閱讀比你優秀的程序員的代碼北大青鳥校區老師相信這是學習的一個重要部分。
新手學員常常疑惑,我為什麼還要花時間去讀別人的代碼,在一個較大的開源社區里,學習者會有機會向優秀的程序員學習。
在這里,新手可以找到一些使用你熟悉的代碼編寫的項目,並對它們進行深入挖掘和理解。
當然不必理解所有的內容,只需要分析其中一小部分代碼,這些都會讓你受益匪淺。
3.快速切換語言或技術的確,能學到一點東西的感覺會很好,在語言和技術之間切換也是有趣的。
但如果新手學習者在學習過程中經常這樣做,就會適得其反,也會給造成很大的損失。
相反,如果對一項技術有很深入的了解,想要切換其他技術語言就會變得很容易。
4.沒有完成主要項目這是北大青鳥校區老師在觀察學員自我學習過程中易犯的一個問題。
一大部分新來的學員對軟體體系結構有著很大的興趣,喜歡嘗試不同的模式,框架和方法來學習一些特定需求很好的編程實踐。
但通常,部分在編寫了代碼的核心部分以形成一個很小的工作演示後,就傾向於「置之不理」,然後轉移到別的項目上。
5.不關心代碼質量vs過於關心代碼質量沒有質量問題的醜陋代碼比有質量問題的漂亮代碼更好。
一開始可以不關心代碼質量,只要你對這個問題有意識,並且願意在編程結束時進行清理和解決問題。
代碼質量是很重要的,但如果沒有找到平衡,就可能會過度框架住新手的應用程序。
6、不對代碼進行單元測試單元測試可能會讓你覺得在莫名其妙地重復著工作。
但是,將測試加入到學習的工作流程中,這從很多方面看都是有益的。

F. Java程序員在寫SQL時常犯的錯誤!

Java程序員編程時需要混合面向對象思維和一般命令式編程的方法,能否完美的將兩者結合起來完全得依靠編程人員的水準:

技能(任何人都能容易學會命令式編程)模式(有些人用「模式-模式」,舉個例子,模式可以應用到任何地方,而且都可以歸為某一類模式)心境(首先,要寫個好的面向對象程序是比命令式程序難的多,你得花費一些功夫)

但當Java程序員寫SQL語句時,一切都不一樣了。SQL是說明性語言而非面向對象或是命令式編程語言。在SQL中要寫個查詢語句是很簡單的。但在Java里類似的語句卻不容易,因為程序員不僅要反復考慮編程範式,而且也要考慮演算法的問題。

下面是Java程序員在寫SQL時常犯的10個錯誤(沒有特定的順序)。

1、忘掉NULL

Java程序員寫SQL時對NULL的誤解可能是最大的錯誤。也許是因為(並非唯一理由)NULL也稱作UNKNOWN。如果被稱作 UNKNOWN,這還好理解些。另一個原因是,當你從資料庫拿東西或是綁定變數時,JDBC將SQL NULL 和Java中的null對應了起來。這樣導致了NULL = NULL(SQL)和null=null(Java)的誤解。

對於NULL最大的誤解是當NULL被用作行值表達式完整性約束條件時。另一個誤解出現在對於NULL 在 NOT IN anti-joins的應用中。

解決方法:

好好的訓練你自己。當你寫SQL時要不停得想到NULL的用法:這個NULL完整性約束條件是正確的?NULL是否影響到結果?

2、在Java內存中處理數據

很少有Java開發者能將SQL理解的很好。偶爾使用的JOIN,還有古怪的UNION,好吧,但是對於窗口函數呢?還有對集合進行分組呢?許多 的Java開發者將SQL數據載入到內存中,將這些數據轉換成某些相近的集合類型,然後再那些集合上面使用邊界循環控制結構(至少在Java8的集合升級 以前)執行令人生厭的數學運算。

但是一些SQL資料庫支持先進的(而且是SQL標准支持的)OLAP特性,這一特性表現更好而且寫起來也更加方便。一個(並不怎麼標準的)例子就 是Oracle超棒的MODEL分句。只讓資料庫來做處理然後只把結果帶到Java內存中吧。因為畢竟所有非常聰明的傢伙已經對這些昂貴的產品進行了優 化。因此實際上,通過將OLAP移到資料庫,你將獲得一下兩項好處:

便利性。這比在Java中編寫正確的SQL可能更加的容易。性能表現。資料庫應該比你的演算法處理起來更加快.而且更加重要的是,你不必再去傳遞數百萬條記錄了。

解決方法:

每次你使用Java實現一個以數據為中心的演算法時,問問自己:有沒有一種方法可以讓資料庫代替為我做這種麻煩事。

3、使用UNION代替UNION ALL

和UNION相比UNION ALL還需要額外的關鍵字。如果SQL標准已經規定了支持,那麼可能會更好點。

UNION(允許重復)UNION DISTINCT (去除了重復)

移除重復行不僅很少需要(有時甚至是錯的),而且對於帶很多行的大數據集合會相當慢,因為兩個子select需要排序,而且每個元組也需要和它的子序列元組比較。

注意即使SQL標准規定了INTERSECT ALL和EXCEPT ALL,很少資料庫會實現這些沒用的集合操作符。

解決方法:

每次寫UNION語句時,考慮實際上是否需要UNION ALL語句。

4、通過JDBC分頁技術給大量的結果進行分頁操作

大部分的資料庫都會支持一些分頁命令實現分頁效果,譬如LIMIT..OFFSET,TOP..START AT,OFFSET..FETCH語句等。即使沒有支持這些語句的資料庫,仍有可能對ROWNUM(Oracle)或者是ROW NUMBER()、OVER()過濾(DB2、SQL Server2008等),這些比在內存中實現分頁更快速。在處理大量數據中,效果尤其明顯。

解決方法:

僅僅使用這些語句,那麼一個工具(例如JOOQ)就可以模擬這些語句的操作。

5、在Java內存中加入數據

從SQL的初期開始,當在SQL中使用JOIN語句時,一些開發者仍舊有不安的感覺。這是源自對加入JOIN後會變慢的固有恐懼。假如基於成本的 優化選擇去實現嵌套循環,在創建一張連接表源前,可能載入所有的表在資料庫內存中,這可能是真的。但是這事發生的概率太低了。通過合適的預測,約束和索 引,合並連接和哈希連接的操作都是相當的快。這完全是是關於正確元數據(在這里我不能夠引用Tom Kyte的太多)。而且,可能仍然有不少的Java開發人員載入兩張表通過分開查詢到一個映射中,並且在某種程度上把他們加到了內存當中。

解決方法:

假如你在各個步驟中有從各種表的查詢操作,好好想想是否可以表達你的查詢操作在單條語句中。

6、在一個臨時的笛卡爾積集合中使用 DISTINCT 或 UNION 消除重復項

通過復雜的連接,人們可能會對SQL語句中扮演關鍵角色的所有關系失去概念。特別的,如果這涉及到多列外鍵關系的話,很有可能會忘記在JOIN .. ON子句中增加相關的判斷。這會導致重復的記錄,但或許只是在特殊的情況下。有些開發者因此可能選擇DISTINCT來消除這些重復記錄。從三個方面來說 這是錯誤的:

它(也許)解決了表面症狀但並沒有解決問題。它也有可能無法解決極端情況下的症狀。對具有很多列的龐大的結果集合來說它很慢。DISTINCT要執行ORDER BY操作來消除重復。對龐大的笛卡爾積集合來說它很慢,還是需要載入很多的數據到內存中。

解決方法:

根據經驗,如果你獲得了不需要的重復記錄,還是檢查你的JOIN判斷吧。可能在某個地方有一個很難覺察的笛卡爾積集合。

7、不使用MERGE語句

這並不是一個過失,但是可能是缺少知識或者對於強悍的MERGE語句信心不足。一些資料庫理解其它形式的更新插入(UPSERT)語句, 如 MYSQL的重復主鍵更新語句,但是MERGE在資料庫中確是很強大,很重要,以至於大肆擴展SQL標准,例如SQL SERVER。

解決方法:

如果你使用像聯合INSERT和UPDATE或者聯合SELECT .. FOR UPDATE然後在INSERT或UPDATE等更新插入時,請三思。你完全可以使用一個更簡單的MERGE語句來遠離冒險競爭條件。

8、使用聚合函數代替窗口函數(window functions)

在介紹窗口函數之前,在SQL中聚合數據意味著使用GROUP BY語句與聚合函數相映射。在很多情形下都工作得很好,如聚合數據需要濃縮常規數據,那麼就在join子查詢中使用group查詢。

但是在SQL2003中定義了窗口函數,這個在很多主流資料庫都實現了它。窗口函數能夠在結果集上聚合數據,但是卻沒有分組。事實上,每個窗口函數都有自己的、獨立的PARTITION BY語句,這個工具對於顯示報告太好了。

使用窗口函數:

使SQL更易讀(但在子查詢中沒有GROUP BY語句專業)提升性能,像關系資料庫管理系統能夠更容易優化窗口函數

解決方法:

當你在子查詢中使用GROUP BY語句時,請再三考慮是否可以使用窗口函數完成。

9、使用內存間接排序

SQL的ORDER BY語句支持很多類型的表達式,包括CASE語句,對於間接排序十分有用。你可能重來不會在Java內存中排序數據,因為你會想:

SQL排序很慢SQL排序辦不到

解決方法:

如果你在內存中排序任何SQL數據,請再三考慮,是否不能在資料庫中排序。這對於資料庫分頁數據十分有用。

10、一條一條地插入大量記錄

JDBC「懂」批處理(batch),你應該不會忘了它。不要使用INSERT語句來一條一條的出入成千上萬的記錄,(因為)每次都會創建一個新 的PreparedStatement對象。如果你的所有記錄都插入到同一個表時,那麼就創建一個帶有一條SQL語句以及附帶很多值集合的插入批處理語 句。你可能需要在達到一定量的插入記錄後才提交來保證UNDO日誌瘦小,這依賴於你的資料庫和資料庫設置。

解決方法:

總是使用批處理插入大量數據。

來自:OSChina

譯者:oschina.net/translate/10-common-mistakes-java-developers-make-when-writing-sql

G. 江蘇北大青鳥:新手程序員易犯的六個錯誤

新手零基礎學習編程,每天不可避免的都會遇到各種問題,難免會感覺很迷茫。
江蘇北大青鳥http://www.kmbdqn.cn/整理了新手程序員易犯的五個錯誤及解決措施,希望能讓大家少入坑。
不使用版本控制系統一旦你開始對代碼有點熟悉的時候,學習如何使用VCS就應該成為你的首要任務。
這個系統有很多的高級功能,這對我們來說很重要。
但一開始,通常會專注於settinguprepository以及committing,這有助於新手跟蹤開發的進度。
然後,學習fetching/pulling和pushing的概念也是很重要的,這樣就可以擁有一個在線備份存儲庫。
2.不去閱讀比你優秀的程序員的代碼北大青鳥校區老師相信這是學習的一個重要部分。
新手學員常常疑惑,我為什麼還要花時間去讀別人的代碼,在一個較大的開源社區里,學習者會有機會向優秀的程序員學習。
在這里,新手可以找到一些使用你熟悉的代碼編寫的項目,並對它們進行深入挖掘和理解。
當然不必理解所有的內容,只需要分析其中一小部分代碼,這些都會讓你受益匪淺。
3.快速切換語言或技術的確,能學到一點東西的感覺會很好,在語言和技術之間切換也是有趣的。
但如果新手學習者在學習過程中經常這樣做,就會適得其反,也會給造成很大的損失。
相反,如果對一項技術有很深入的了解,想要切換其他技術語言就會變得很容易。
4.沒有完成主要項目這是北大青鳥校區老師在觀察學員自我學習過程中易犯的一個問題。
一大部分新來的學員對軟體體系結構有著很大的興趣,喜歡嘗試不同的模式,框架和方法來學習一些特定需求很好的編程實踐。
但通常,部分在編寫了代碼的核心部分以形成一個很小的工作演示後,就傾向於「置之不理」,然後轉移到別的項目上。
5.不關心代碼質量vs過於關心代碼質量沒有質量問題的醜陋代碼比有質量問題的漂亮代碼更好。
一開始可以不關心代碼質量,只要你對這個問題有意識,並且願意在編程結束時進行清理和解決問題。
代碼質量是很重要的,但如果沒有找到平衡,就可能會過度框架住新手的應用程序。
6、不對代碼進行單元測試單元測試可能會讓你覺得在莫名其妙地重復著工作。
但是,將測試加入到學習的工作流程中,這從很多方面看都是有益的。

H. 寧夏北大青鳥:新手程序員易犯的六個錯誤

新手零基礎學習編程,每天不可避免的都會遇到各種問題,難免會感覺很迷茫。
寧夏北大青鳥http://www.kmbdqn.cn/整理了新手程序員易犯的五個錯誤及解決措施,希望能讓大家少入坑。
不使用版本控制系統一旦你開始對代碼有點熟悉的時候,學習如何使用VCS就應該成為你的首要任務。
這個系統有很多的高級功能,這對我們來說很重要。
但一開始,通常會專注於settinguprepository以及committing,這有助於新手跟蹤開發的進度。
然後,學習fetching/pulling和pushing的概念也是很重要的,這樣就可以擁有一個在線備份存儲庫。
2.不去閱讀比你優秀的程序員的代碼北大青鳥校區老師相信這是學習的一個重要部分。
新手學員常常疑惑,我為什麼還要花時間去讀別人的代碼,在一個較大的開源社區里,學習者會有機會向優秀的程序員學習。
在這里,新手可以找到一些使用你熟悉的代碼編寫的項目,並對它們進行深入挖掘和理解。
當然不必理解所有的內容,只需要分析其中一小部分代碼,這些都會讓你受益匪淺。
3.快速切換語言或技術的確,能學到一點東西的感覺會很好,在語言和技術之間切換也是有趣的。
但如果新手學習者在學習過程中經常這樣做,就會適得其反,也會給造成很大的損失。
相反,如果對一項技術有很深入的了解,想要切換其他技術語言就會變得很容易。
4.沒有完成主要項目這是北大青鳥校區老師在觀察學員自我學習過程中易犯的一個問題。
一大部分新來的學員對軟體體系結構有著很大的興趣,喜歡嘗試不同的模式,框架和方法來學習一些特定需求很好的編程實踐。
但通常,部分在編寫了代碼的核心部分以形成一個很小的工作演示後,就傾向於「置之不理」,然後轉移到別的項目上。
5.不關心代碼質量vs過於關心代碼質量沒有質量問題的醜陋代碼比有質量問題的漂亮代碼更好。
一開始可以不關心代碼質量,只要你對這個問題有意識,並且願意在編程結束時進行清理和解決問題。
代碼質量是很重要的,但如果沒有找到平衡,就可能會過度框架住新手的應用程序。
6、不對代碼進行單元測試單元測試可能會讓你覺得在莫名其妙地重復著工作。
但是,將測試加入到學習的工作流程中,這從很多方面看都是有益的。

閱讀全文

與程序員報錯30種表現相關的資料

熱點內容
多個q群文件夾可以多選嗎 瀏覽:579
刷公基哪個app好 瀏覽:379
語言預編譯器的英文 瀏覽:219
怎麼給wifi路由器加密 瀏覽:530
android界面提示 瀏覽:228
cad命令欄灰色的 瀏覽:13
電腦網頁加密怎麼打開 瀏覽:485
在python語言中源文件的後綴名 瀏覽:894
linuxlsl命令 瀏覽:672
農業銀行手機app在哪裡開u盾 瀏覽:568
冒險島命令技能練習 瀏覽:113
國產雲伺服器有哪些 瀏覽:410
解壓後的程序是哪個 瀏覽:821
程序如何加密軟體 瀏覽:858
踢踢語音app可以在哪裡下載 瀏覽:977
鏟屎官程序員 瀏覽:292
虛擬游戲編譯器 瀏覽:11
諾基亞app哪裡下載 瀏覽:879
msp430單片機ad轉換 瀏覽:54
房產代款怎麼演算法 瀏覽:436