優秀的程式設計師和一般的程式設計師差別在哪?

2022-02-19 23:32:10 字數 1641 閱讀 7671

1. 拷貝型

拷貝型選手就是傳說中的「**拷貝員」了,他們對實現功能幾乎沒有思路,所作的事情就是從網上或是之前其他團隊成員寫的**中拷貝出片段,然後放到專案中,如果執行專案出現了期望結果,則表示任務完成。

這類人只會改**,卻不會寫**。他們大多對程式設計毫無興趣,只是希望以此餬口而已。

2. 新手型

當產品有功能需求時,由於經驗有限,程式設計師並不完全知道要如何實現這個功能,需要通過學習、尋找資料等方式來解決問題。

這種情況下的編碼過程,程式設計師的主要目標是「完成功能」,那麼很難有多餘的心思去考慮邊界條件、效能、可讀性、可擴充套件性、編碼規範等問題,因此**bug可能較多,穩定性不高。常常會發生開發花費1個月,改bug卻要改上好幾個月的事情。

3. 學習型

這類程式設計師對所在領域的語言已經比較了解,對於一般功能可以有較為清晰的實現思路,給出需求時可以通過自己的思路來實現,並且會一定程度上考慮邊界條件和效能問題。但僅此而已,他們對可讀性和可擴充套件性考慮很少,也沒有專案級別的考慮,主要是希望通過實現**來練手或是學習。

這類程式設計師最大的表現在於喜歡「創造**」,即使有現成的實現,他們也希望自己來實現一套,以達到「學習」的目的。他們不喜歡復用別人的**,看見專案中別人實現了相類似的功能,他們會以「需求不同」的藉口來自己重新實現一套。這類人一般來說對技術有著較為濃厚的興趣,希望能夠通過專案來進行學習。

從專案的角度來說,這種做法最大的麻煩在於開發周期可能較長(相比直接使用現成的實現),並且會使得專案**膨脹,影響未來的維護。但這類程式設計師由於有興趣,如果好好培養或許會成為明天的牛人。

4. 實現型

這類程式設計師一般有較為豐富的經驗,由於寫得太多,因此不再追求「創造**」來進行學習,同時對所在領域可能涉及的很多第三方框架或是工具都比較熟悉,當接受到產品需求時,對功能實現方案已經了然於胸,因此他們可以快速的實現需求,並且對邊界、效能都有一定程度的考慮。因為能夠快速實現需求功能,經常會被團隊評價為「牛人」。但他們一般僅僅停留在「完成功能」級別上,對**的可讀性、可擴充套件性、編碼規範等考慮較少,對專案總體把握也較少(例如控制專案膨脹、方便部署等架構級別的東西)。

這類程式設計師最大的表現在於喜歡「開發專案」,卻不喜歡「維護專案」。他們產出的**最大的問題就是維護較為困難,可能過上幾個月回頭看自己的**都會暈頭轉向。因此即使是自己寫的**,仍然不願意維護,一般會苦了後來人。

因為介面設計的缺乏,當需求變更時,發現**要改的東西太多,然後抱怨需求變化,卻很少認為是自己的**問題。這樣的專案如果經過長時間的變更維護,最終會變得難以維護(一般表現在需求變更響應時間越來越長)甚至無法維護,最終要麼是半死不活,要麼是被推倒重來。

5. 架構型

這類程式設計師比實現型更進一步,他們經驗豐富,對相關框架和工具等都很熟悉,「完成功能」「穩定性」「效能」這些已經不再是他們的追求,更優美的**、更合理的架構才是目標。

這類程式設計師**設計大多建立在對需求的詳細了解和對需求變更的**上——可擴充套件性較好;**細節也盡量多的考慮邊界情況、效能——穩定高效;**命名和注釋都恰到好處——可讀性較高;同時在開發過程中他們會不斷重構,對**做減法——保證專案可持續發展;等等

但由於考慮問題較多,單從「實現功能」階段來看,完成速度不一定會比「實現型」要快。只是到了專案中後期優勢才會慢慢體現出來

優秀的程式設計師和一般的程式設計師差別在哪?

這是某人在問答 知乎上的提問,很多熱心的程式設計師兄弟作了解答,挑出幾個贊同數高的,大家來對號入入坐?或者對比一下你心中的優秀程式設計師和一般程式設計師?獲得贊同數最多的回答 郭凜,簡介 軟體手藝人,自學程式設計18年至今,創業中,愛玩不愛束縛 在我平時所見到的程式設計師中,如果純以編碼能力來看,個...

程式設計師人生 優秀程式設計師的法則

本文章的指導法則,使寫 更高效,更容易維護,並且bug和缺陷更少。不要重複 don t repeat yourself 程式設計中乙個最根本的原則就是要避免重複。許多程式設計結構 比如迴圈 函式 類等 的存在就是為了避免重複。每個在程式中有意義的功能片段應該只在源 的一處地方實現。簡單性 避免複雜性...

黑馬程式設計師 一般處理程式(1)

windows phone 7手機開發 net培訓 期待與您交流!在乙個asp.net的專案中新增乙個一般處理程式頁面 ashx 後,檔案中的內容如下,現在就這些內容總結一下裡面的知識點。1.ihttphandler介面 屬性isreusable是用來標示頁面類物件是否能夠被其它請求重用,true表...