導航:首頁 > 程序命令 > 程序員最容易出現工作失誤的環節

程序員最容易出現工作失誤的環節

發布時間:2022-05-23 06:53:18

1. java編程:常見的幾個錯誤

Java 中最常見的 5 個錯誤:

1、Null 的過度使用

避免過度使用 null 值是一個最佳實踐。例如,更好的做法是讓方法返回空的 array 或者 collection 而不是 null 值,因為這樣可以防止程序拋出 NullPointerException。

2、忽視異常

我們經常對異常置之不理。然而,針對初學者和有經驗的 Java程序員,最佳實踐仍是處理它們。異常拋出通常是帶有目的性的,因此在大多數情況下需要記錄引起異常的事件。別小看這件事,如果必要的話,你可以重新拋出它,在一個對話框中將錯誤信息展示給用戶或者將錯誤信息記錄在日誌中。至少,為了讓其它開發者知曉前因後果,你應該解釋為什麼沒有處理這個異常。

3、並發修改異常

這種異常發生在集合對象被修改,同時又沒有使用 iterator 對象提供的方法去更新集合中的內容。

4、違約

有時候,為了更好地協作,由標准庫或者第三方提供的代碼必須遵守共同的依賴准則。例如,必須遵守hashCode和equals的共同約定,從而保證 Java 集合框架中的一系列集合類和其它使用hashCode和equals方法的類能夠正常工作。不遵守約定並不會產生 exception 或者破壞代碼編譯之類的錯誤;它很陰險,因為它隨時可能在毫無危險提示的情況下更改應用程序行為。

5、使用原始類型而不是參數化的

根據 Java 文檔描述:原始類型要麼是非參數化的,要麼是類 R 的(同時也是非繼承 R 父類或者父介面的)非靜態成員。在 Java 泛型被引入之前,並沒有原始類型的替代類型。Java 從1.5版本開始支持泛型編程,毫無疑問這是一個重要的功能提升。然而,由於向後兼容的原因,這里存在一個陷阱可能會破壞整個類型系統。

2. Java之——程序員容易犯的錯誤有哪些

從來都不記著自己犯過哪些錯誤,同樣的錯誤反復出

3. 程序員提升開發技術需要注意哪些

一、不提升非技術技能
我們認為非技術技能是項目成功的主要因素。這些非技術技能也可以稱之為「軟技能」,總體上來說,它已經被公司證明為能夠駕馭企業和客戶之間的長期商業關系,因此也能決定公司的成長發展路徑。一些關鍵的軟技能指標包括:

a.紀律——這是最重要的特徵之一,缺乏紀律,最終會讓這個開發團隊在開發能力上「缺乏自信」。解決這一問題的矯正方法就是每天制定詳細的to-do清單:兌現你的承諾、完成你開始做的事情、避免多重任務,因為這些往往會讓你的生活產生混亂。
b.顧客的聲音——不把客戶置於決策的核心地位只會跟你們業務的原始目的相沖突。如果客戶不高興,即使你擁有世界上一流的專業知識和資源也不會起什麼作用。保持符合客戶期望的解決方案、及時交付才能體現出項目的真正價值。
c.溝通——尤其是當客戶和供應商並不在同一地點的時候,明確而及時的溝通是填補服務空白的極好措施。主要集中在這三個方面你就能克服問題——進行主題討論、清晰表達、乾脆簡潔。
d.了解需求——在整個開發生命周期過程中,決定成功和失敗的之間的一個至關重要的區別將會給人留下深刻的印象。通過最初的頭腦風暴法了解問題狀態,以及後續的交貨程序,這其中都要和客戶完美配合。只有這樣,客戶才會贊賞你的工作,給你好評。
二、對編碼不理智
古人雲:善泅者溺,善騎者墮。但估計絕大多數 的程序員都認為自己的編程技術絕對的牛。而同樣真實的是,每一個代碼,讓不同的程序員去實現的話都會不可避免地發現它所存在的缺陷。所以說,只有通過在一 個項目上的合作,程序員之間必然有的摩擦才能證明誰是最好的。健康的競爭是好事,但它不應該成為一個本來可以成功的項目的負擔。

另一個創意阻礙是無法將預定義的模板使用在對你有利的開發項目里。幾乎所有的編程語言有一個很好的在線 /內置的代碼片段存儲庫,可以修補代碼,防止重新編程。然而,如果因為不理解需求或缺乏接觸各種可用庫/模板的話,這就意味著程序員最終會無意間將一開始 就創建的代碼付之東流。這不僅增加了開發時間,也提高了總體成本。另外一點就是,發布了的代碼已經經過了質量檢測,所以只有將它用作模板才能發揮它更大的 價值。
三、不一定什麼都要被理解
如果你是剛調到這個團隊來的編程人員,對於手頭的工作並不是很熟悉,那該怎麼辦?肯定是先看一些前任留下來的工作計劃,要是他寫的詳細倒也沒什麼,如果寫的不詳細,估計會讓你更加的撓頭。
因此,推己及人,在需要交代的工作上,最好是把任務寫的盡可能的詳細。這么做也是非常現實的原因:能夠把編程問題解決掉,最好是保證使用解釋性的語言和英語發音來表示變數。一些基本的指針可以讓你的程序更容易被理解,包括:
a.把所有參數、引用、方法和變數名稱盡可能接近英語表達。保持文件名簡短但有助於理解的功能。
b.使用++包裝文字是一個好辦法,能讓代碼和注釋更加清晰。
c.將編寫的程序保持在一個連續的流程上,尤其是在使用OOP基礎上的語言:C#、C 和 C++。
d.對於不同的代碼塊使用不同的描述名稱。
四、不使用經過驗證的工具和技術
程序員的好壞從他使用的編程工具和調試工具上就能看出。在異常情況的跟蹤上,下面就是程序員經常會出現的常見錯誤。
對一些可能會對其它代碼有影響的常見案例進行捕捉,處理這些比較常見的異常情況(而不是特殊的異常)意味著無意中除除掉了會抑制整個程序的殘留部分,因此並不會影響他人的代碼。
也許程序員可能帶有惡意的意圖來捕捉所有的異常情況,但即使是捕捉到了也不實施採取措施,這就是常說的「虛假安全閥」,這種異常處理手段是對整個軟體的穩定和安全的一種妥協方式。
五、較差的控製版本
在任何涉及多個團隊的項目里,當談到版本控制的時候不去介紹使用最佳實踐都是一個十足的罪過。版本控制的目的是確保由一個人執行的編輯或修訂不去影響另一個人的工作。
版本控制不僅有助於將由兩個或兩個以上的程序員的編輯工作合並到一起,還有助於跟蹤程序的更改歷史。所以說,任何開發團隊都應該做一些好的改進措施以確保強大的版本控制,這其中就包括:
為每個解決方案創建一個「邏輯單元」
給解決方案制定描述性的名稱
確保你所使用的都是最先進的文件
頻繁的向團隊分享你所做的各種改變
六、擁有最新信息的個人代表不了團隊
這是相對有趣的一點,所有的商業產品都想要以自身的敏捷技術和產品文化來給客戶留下深刻的印象,但是現 實中很少有廠商會花時間去磨練他們員工在介紹產品特點上的技能。許多公司只是簡單地提供了一些基本的培訓,並且抱希望與員工在真實的日常項目里學到更多的 技能。所以部門經理和項目的直接領導可以通過以下兩個辦法來提高員工的業績:
一旦有新員工加入,就立刻強制安排他參加專業培訓,讓他知道他的角色是用來干什麼的,盡早產生創造力。例如一個測試人與加入之後,就應該向他介紹編程的理念,之後將培訓重點放到測試實踐上,而不是繼續闡述編程的重要性。
現階段的技術的進化程度比以往任何時候都要快,,所以要記住,定期培訓是必不可少的,這是在給團隊創造價值。例如一個Web 設計師需要知道響應式設計,提供給設計師大量的用戶日常使用的移動設備的不斷擴張的樣品,希望他們能獲得靈感。
七、不恰當的測試
測試作為整個系統開發生命周期(Systems Development Life Cycle,簡稱SDLC)的重要一個要素,通常不需要開發團隊給出太驚人的結果。但是如果在測試環節沒有付出恰當的、相應的努力的話,這是說不過去的。 下面的一些方法或許對你的測試團隊有用,至少在你們交付產品的時候能夠給用戶一個好的交代。
單元測試
實物模型
綜合測試
八、注意安全漏洞
有的時候在軟體開發過程中,就會遇見如下這樣的安全漏洞:

A、不同組件之間意想不到的交互作用:a、輸入不正確的驗證信息;b、SQL資料隱碼攻擊;c、跨網站指令碼;d、命令植入攻擊;e、跨站請求偽造(CSRF);
B、難以實施的資源管理,包括:a、不尊重可用內存緩沖區;b、對外控制;c、使用有潛在危險的功能;
九、和客戶交流
最初的合同簽訂後,開發公司通常會忘記每天與客戶進行產品上的信息交互,以至於在交貨的時候還需要進行升級。兩大關鍵的交流點可以讓你和客戶保持更好的、更長的關系:
在客戶開問之前,開發方應該和客戶進行交流溝通。
和客戶保持周期性的交流。
十、避免標准實踐面臨的迫在眉睫的最後期限
通 常情況下項目都會遇到進度延誤的現象。然而,這不是說你有理由去偷工減料或者是在開發或測試階段耍花招,未經測試的模塊絕對是一個隱患,會讓你的開發團隊 名譽受損的。一個更好的方法來管理延遲是提前告知客戶並且積極執行延遲計劃。只要延期的理由是有效的,客戶應該會理解,也會給你額外的時間來解決這個問 題。

4. 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:是指在自定義異常時,如果方法出現異常,那麼將作為引用方法的對象拋出。即拋出異常。

5. 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:是指在自定義異常時,如果方法出現異常,那麼將作為引用方法的對象拋出。即拋出異常。

希望對您有所幫助!~

6. 程序員工作中有哪些需要特別謹慎處理的事情

程序員的工作中,需要特別謹慎處理的事情有很多,我體會最深的一件事情,就是老闆給你的工作量,你必須小心的應對,不然你就會走進他的圈套,記得有一次,他讓我在三天內做出10個程序,然後我說不行,根本辦不到,然後讓我在兩天內做6個出來,我還是拒絕了他,你告訴他,兩天時間我只可以做4個出來,雖然有些逞強,然後他告訴我說,讓我三天做出5個,就那樣我中了老闆的圈套,

7. 常見JAVA運行時異常有哪些

1,java.lang.NullPointerException

這個異常的解釋是 "程序遇上了空指針 ",簡單地說就是調用了未經初始化的對象或者是不存在的對象,這個錯誤經常出現在創建圖片,調用數組這些操作中,比如圖片未經初始化,或者圖片創建時的路徑錯誤等等。

2,java.lang.ClassNotFoundException

異常的解釋是"指定的類不存在",這里主要考慮一下類的名稱和路徑是否正確即可

3,java.lang.

這個異常的解釋是"數組下標越界",現在程序中大多都有對數組的操作,因此在調用數組的時候一定要認真檢查,看自己調用的下標是不是超出了數組的范圍,一般來說,顯示(即直接用常數當下標)調用不太容易出這樣的錯,但隱式(即用變數表示下標)調用就經常出錯了.

4,java.lang.NoSuchMethodError

方法不存在錯誤。當應用試圖調用某類的某個方法,而該類的定義中沒有該方法的定義時拋出該錯誤。

5,java.lang.IndexOutOfBoundsException

索引越界異常。當訪問某個序列的索引值小於0或大於等於序列大小時,拋出該異常。

6,java.lang.NumberFormatException

數字格式異常。當試圖將一個String轉換為指定的數字類型,而該字元串確不滿足數字類型要求的格式時,拋出該異常。

7,java.sql.SQLException

Sql語句執行異常

8,java.io.IOException

輸入輸出異常

9,java.lang.IllegalArgumentException

方法參數錯誤

10java.lang.IllegalAccessException

無訪問許可權異常

(7)程序員最容易出現工作失誤的環節擴展閱讀:

Java技術應用領域:

1、Android應用

許多的 Android應用都是Java程序員開發者開發。雖然 Android運用了不同的JVM以及不同的封裝方式,但是代碼還是用Java語言所編寫。相當一部分的手機中都支持JAVA游戲,這就使很多非編程人員都認識了JAVA。

2、在金融業應用的伺服器程序

Java在金融服務業的應用非常廣泛,很多第三方交易系統、銀行、金融機構都選擇用Java開發,因為相對而言,Java較安全 。大型跨國投資銀行用Java來編寫前台和後台的電子交易系統,結算和確認系統,數據處理項目以及其他項目。

3、網站

Java 在電子商務領域以及網站開發領域占據了一定的席位。開發人員可以運用許多不同的框架來創建web項目,SpringMVC,Struts2.0以及frameworks。即使是簡單的 servlet,jsp和以struts為基礎的網站在政府項目中也經常被用到。例如醫療救護、保險、教育、國防以及其他的不同部門網站都是以Java為基礎來開發的。

4、嵌入式領域

Java在嵌入式領域發展空間很大。在這個平台上,只需130KB就能夠使用Java技術(在智能卡或者感測器上)。

5、大數據技術

Hadoop以及其他大數據處理技術很多都是用Java,例如Apache的基於Java的HBase和Accumulo以及 ElasticSearchas。

6、高頻交易的空間

Java平台提高了這個平台的特性和即使編譯,他同時也能夠像 C++ 一樣傳遞數據。正是由於這個原因,Java成為的程序員編寫交易平台的語言,因為雖然性能不比C++,但開發人員可以避開安全性,可移植性和可維護性等問題。

7、科學應用

Java在科學應用中是很好選擇,包括自然語言處理。最主要的原因是因為Java比C++或者其他語言相對其安全性、便攜性、可維護性以及其他高級語言的並發性更好。

8. 程序員最容易犯的幾個技術上的錯誤 –

希望可以幫到你,謝謝!

9. 作為一個程序員,你在工作上遇到過什麼坑爹的問題

以前遇到個bug,在客戶那邊某台機器上必定重現。其他機器上都沒問題。後來公司里一台電腦復現出這問題,通過調試,查看memory裡面的數據,發現數據突然變得無法訪問。憑我掌握的知識,估計是堆被釋放了,然後通過查找堆的信息及windows API的HeapFree函數所在地址,並在該地址上打斷點。最終發現在release com組件時,該機器調用heapfree釋放組件所申請的堆的時機和其他不一致(匯編上有處跳轉不一樣)

10. JAVA編程中常見的錯誤有哪些

錯誤就是error,它不同於異常。有時候程序不發生異常是不會出問題的,但有錯誤一定有問題。
常見的錯誤:編寫錯誤,語句錯誤---這兩個編譯器會提醒,也就是常用的eclipse;
邏輯錯誤,這個要看你自己的邏輯思維了。
潛在錯誤,也就是編寫語句邏輯都沒有問題,但jvm檢測有問題,就需要你自己找了,通常潛在錯誤都有邏輯問題。

閱讀全文

與程序員最容易出現工作失誤的環節相關的資料

熱點內容
什麼app訂酒店半價 瀏覽:765
中老年解壓神器 瀏覽:241
訊飛語音ttsandroid 瀏覽:466
腰椎壓縮性骨折術後能坐車嗎 瀏覽:505
python類裝飾器參數 瀏覽:345
均線pdf微盤 瀏覽:789
女生喜歡玩的解壓游戲 瀏覽:440
支付寶暗號加密操作 瀏覽:133
柯潔在哪個app下圍棋 瀏覽:751
平板用什麼app看內在美 瀏覽:609
cad計算機命令 瀏覽:173
郵箱設置域名伺服器錯誤什麼意思 瀏覽:671
硬碟解壓失敗受損藍屏 瀏覽:654
應用和伺服器是什麼意思 瀏覽:485
程序員需要知道的網站 瀏覽:713
微信支付頁面加密碼怎麼加 瀏覽:57
網路加密狗問題 瀏覽:698
cnc曲面編程實例 瀏覽:170
什麼app零粉分發視頻有收益 瀏覽:164
肯亞程序員 瀏覽:640