糟糕的程序員最好的朋友是 Ctrl-C 和 Ctrl-V ,有些時(shí)候,他們并不知道代碼的確切含義,就開始使用它,有證據(jù)表明,由拷貝粘貼引發(fā)的bug占了絕大多數(shù)。因?yàn),代碼總是只能在特定的環(huán)境下才能正常地工作,如果代碼的上下文改變了,很有可能使得代碼產(chǎn)生很多你不知道的行為,當(dāng)你連代碼都控制不住了,你還能編出什么好的程序呢?
5)拼命工作而不是聰明的工作
對(duì)于糟糕的程序員,我們總是能看到他們拼命地修正他們的bug,總是花非常多時(shí)間并重復(fù)地完成某一工作。而好的程序可能會(huì)花雙倍的時(shí)間來準(zhǔn)備一個(gè)有效的開發(fā)環(huán)境,工具,以及在開發(fā)的時(shí)候花雙倍甚至10倍的時(shí)間來避免一些錯(cuò)誤。好的程序員總是會(huì)利用一切工具或手段來讓自己的工作變得更有效率,總是為在開發(fā)的時(shí)候盡可能得不出錯(cuò)。后期出錯(cuò)的成本將會(huì)是巨大的,而且那時(shí)改正錯(cuò)誤的壓力也是巨大的。所以,糟糕的程序通常會(huì)讓自己進(jìn)入一種惡性循環(huán),他們看上去總是疲憊的,總是很辛苦的,所以更沒有時(shí)間來改善,越?jīng)]有時(shí)間來改善,就有越多的問題。所以,拼命工作有些時(shí)候可能表明你不是一個(gè)好的程序員。
6)總是在等待、找借口以及抱怨
當(dāng)需求不明確的時(shí)候,當(dāng)環(huán)境不是很滿意的時(shí)候,他們總是在等待別人的改善。出現(xiàn)問題的時(shí)候,總是在找借口,或是抱怨這也不好,那也不好,所以自己當(dāng)然就沒有做好。糟糕的程序員總是希望自己的所處的環(huán)境是最好的,有明確的需求,有非常不錯(cuò)的開發(fā)環(huán)境,有足夠的時(shí)間,有不錯(cuò)的QA,還有很強(qiáng)的team leader,以及體貼自己的經(jīng)理,有足夠的培訓(xùn),有良好的討論,有別人強(qiáng)有力的支持……,這是一種“飯來張口,衣來伸手”的態(tài)度,這個(gè)世界本來就不完美,一個(gè)團(tuán)隊(duì)需要所有人去奮斗,況且,如果什么都變得完美了,那么,你的價(jià)值何在嗎?driving instead of waiting, leading instead of following。