一、前言
寫了20多年代碼,我見過不下于4位數(shù)的程序員,我覺得程序員的能力水平可以分為4個階段:線性級、邏輯級、架構(gòu)級和工程級。
同樣的在這些人當(dāng)中,我也發(fā)現(xiàn)了8個程序員最常見的陋習(xí),基本上可以覆蓋90%的人,其中說不定就有你哦。
二、4個能力水平
1.線性級
線性級程序員的思維很簡單,寫程序的時候就像蓋房子似的,一塊磚一塊磚往上壘的,但是他不知道后面會壘成什么樣,可能越壘越龐大,后面的代碼組織和管理等會越來越混亂,最后導(dǎo)致后面的很多程序修改和維護很麻煩。
2.邏輯級
對于邏輯級程序員,已經(jīng)掌握了一些算法理論基礎(chǔ),并且對于業(yè)務(wù)世界的邏輯有一個清楚的把握,能能夠撰寫出一些很好的模塊和和函數(shù),而且邏輯比較嚴(yán)密,bug比較少的這樣的一個狀態(tài)。
3.架構(gòu)級
對于架構(gòu)級程序員,因為除了對程序語言本身的了解和把握以外,還要對現(xiàn)實世界的所要解決的業(yè)務(wù)邏輯有一個清楚的把握和了解。
這樣的話才能夠?qū)浖M行架構(gòu)和分層,然后指導(dǎo)團隊的其他成員來按照統(tǒng)一的目標(biāo)來不斷的實現(xiàn)。
4.工程級
對于工程級程序員,因為本身軟件開發(fā)不僅僅是開發(fā)本身,這里面還有很多其他的項目管理的要素在里面。
比如說剛才提到的計劃、組織、管理和控制,如果有了一些項目管理的指導(dǎo)和原則的話,那么對于一個軟件工程的過程管理就會有一個"一覽眾山小"的狀態(tài)。
接下來我們來說一下90%的程序員多少都會有的陋習(xí)。
三、8個陋習(xí)
根據(jù)以前的工作經(jīng)驗?zāi)?,我覺得程序員身上的這些陋習(xí)是阻礙程序員進步的最大的一個障礙。
1.自我
那么首先程序員因為本身是一個腦力活動者,他那個是一個很重要的特性,就是非常自我。
很多時候就是說撰寫代碼的時候,基本上是不愿意去聽從別人的意見和建議的。
2.封閉
有的程序員很封閉,也就說它不夠開放。
如果是用一種開放和交流的心態(tài)來跟其他程序上來進行交互的話,那么這樣的相互取得的促進效果會是非常明顯的。
3.慣性
有一些有經(jīng)驗的程序員會有一些工作的慣性,經(jīng)常會說"我以前是怎么這么做的"、“我以前是這樣這樣做的,我就覺得你現(xiàn)在這樣做的不對”…
其實這種慣性,也是阻礙溝通的一種很大的問題。
4.溝通障礙
這是比較顯著的一類陋習(xí),因為程序員整天面對電腦、只跟機器交互,所以說去跟其他產(chǎn)品經(jīng)理和其他測試等等一些這些人去交流的時候,會有很明顯的溝通障礙。
5.一葉障目
這是最大的問題,就是說程序員經(jīng)常一葉障目,只看到自己眼前的工作。
比如說有一些團隊協(xié)作開發(fā)的任務(wù)的時候呢,只依據(jù)自己為中心。那么對于別人的一些請求,尤其有一些交互性、復(fù)雜的網(wǎng)絡(luò)接口開發(fā)時經(jīng)常會下意識地去拒絕別人。
6.工作量估計樂觀
還有一個最重要的問題,就是說經(jīng)常會把工作量估計漏完。
比如說拿到一個需求的時候,好,我一個星期就能完成結(jié)果,真正的實現(xiàn)的時候呢,發(fā)現(xiàn)需要花兩到三周乃至更長的時間來實現(xiàn)這項工作任務(wù)。
7.拒絕變化
對于需求的變更來講的話,程序員的很大心態(tài)是有逆反心理的。
當(dāng)我正在撰寫一個東西的時候,發(fā)現(xiàn)需求變更了,就會產(chǎn)生一種阻礙心態(tài)來拒絕變化。
但是拒絕變化的前提應(yīng)該先進行客觀、合理的分析和判斷,最后再給出答案。其實它應(yīng)該是要仔細衡量本身這個變化影響不影響我目前的軟件體系和架構(gòu)?對我的工作量的增加有多大?這需要有一個好的估量來決定這個變化的取舍。
8.拒絕重構(gòu)
最后且最重要的一個問題,就是說很多時候我們是拒絕重構(gòu)的,因為這個重構(gòu)有些時候是很難取舍的一個問題。
比如說經(jīng)常會想,哎呀我原來寫的這個軟件體系結(jié)構(gòu),跟后面的整個實現(xiàn)過程中,變化會越來越大,而且信息學(xué)、新需求進來的時候呢,我就很難再保持一個良好的這樣的一個體系結(jié)構(gòu)。那么經(jīng)常會糾結(jié),我是重構(gòu)呢還是按照這個原來的路敲敲打打呢?
是否重構(gòu)其實是需要根據(jù)實際性的。比如尤其我前幾個月寫的一個電商系統(tǒng),我也是經(jīng)常處于這種心態(tài),我也在糾結(jié)到底重不重構(gòu)的?后來一咬牙一閉眼還是重構(gòu)了。
重構(gòu)的話,前期可能會花費點時間,但是能夠在后期保證我這個軟件的目標(biāo)實現(xiàn),且擁有一個清晰、完整的架構(gòu)和體系結(jié)構(gòu),并且后期會達到一個易于維護的這樣的一個狀態(tài)。
四、結(jié)語
前面所說的這些工作陋習(xí),其實是大多數(shù)程序員的天性,我們需要在工作中慢慢改進,首先需要意識到這是一個陋習(xí),有意識地去不斷糾正自己,用一種很好的心態(tài)來避免這些問題的發(fā)生。
感謝你們的閱讀和喜歡,我收藏了很多技術(shù)干貨,可以共享給喜歡我文章的朋友們,如果你肯花時間沉下心去學(xué)習(xí),它們一定能幫到你,干貨內(nèi)容包括:
文章來源:http://www.zghlxwxcb.cn/news/detail-409411.html
點擊文末的名片可以抱走文章來源地址http://www.zghlxwxcb.cn/news/detail-409411.html
到了這里,關(guān)于程序員的4個能力水平和8個工作陋習(xí),肯定有你的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!