成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

技術總監談好的程序員如何寫代碼

開發 開發工具
怎么樣才是好的程序員?程序員的工作就是寫代碼,因此判斷其能力自然也主要看他寫的代碼。一位開發技術總監在博客上總結了自己面試程序員的一些經驗,認為好的程序員寫的代碼是一眼就可以看出來的。

本文來自風輕揚的博客,原文標題為《怎么樣才是好的程序員》。

要判斷一個程序員是不是好的程序員,主要看他寫的代碼,因為程序員最重要的事是寫代碼。

即便不去理解代碼的意圖,只要看一眼,好的程序員寫的代碼與差的程序員寫的代碼基本上就可以看出來。好的程序員寫的代碼,整潔而規范,視覺上自然有一種美感。空白錯落有致,注釋恰到好處,命名和排版遵守統一的規范。差的程序員寫的代碼則經常出現過長的函數,前后不一致的命名方式和排版,過深的嵌套結構,非常復雜的表達式,隨處可見的數字等毛病。

再去粗粗閱讀,對好的程序員還是差的程序員就會更有把握。好的程序員寫的代碼,有一種精心雕琢而成的一致性。好的程序員一致會遵守統一的命名方式,如camelCase,而差的程序員的變量命名時不時的就會偏離統一規范。好的程序員的代碼中拼寫錯誤幾乎不可見,而差的程序員的拼寫錯誤要多得多。好的程序員對于同一類動作,不會忽而用這個動詞,忽而又用那個同義詞,如add/insert混用。好的程序員采用一致的簡寫規則,差的程序員則時而不簡寫,時而簡寫。好的程序員會很注意名稱中形容詞與名詞誰在前誰在后,而差的程序員沒有規則,時而在前時而在后。好的程序員很少會寫出大段大段的重復代碼,差的程序員卻經常搞不定重復代碼,他們難以將重復的代碼抽取出一個統一的概念進行重用。好的程序員對于對外的API會注重注釋與代碼的一致性,差的程序員經常注釋中的參數名稱與函數定義都不一致。好的程序員很少會留下被注釋掉的或用#if 0括起的垃圾代碼,他們意志堅決,代碼有用就要,沒用就不要,差的程序員則不一樣,他們經常不確信一段代碼是否真的需要,他們缺乏保持代碼整潔的習慣,因此他們讓垃圾代碼留著。

如上,即便你不懂他所用的語言,不卻關心程序的邏輯,對好的程序員還是差的程序員就能做到八九不離十的判斷。程序的好壞幾乎總是取決于它們是否“漂亮”,不“漂亮”而好的程序,除了C++ STL源碼,我再也沒見過(如果你稍仔細看,STL的源碼雖然不夠“漂亮”,但仍然滿足這里提出的一致性原則)。而又好又“漂亮”的代碼則隨處可見,如Linux Kernel,InnoDB,JDK,JUnit等等。

如果再仔細閱讀,就能更準確。好的程序員寫的代碼,好似渾然天成,簡單而直白。函數通常較短小,函數的名稱準確的反映函數要完成的工作。邏輯簡單而自然,讓你讀的時候由衷的發出“啊,就應該是這樣”的感嘆,而差的程序員的代碼經常讓你發出“怎么是這樣?這是再干什么呀?”的疑問。好的程序員會在緊要關頭加以畫龍點睛般的注釋,差的程序員要么沒注釋,要么注釋只是代碼的重復,純粹是廢話,更差的是注釋是錯的,是誤導。

好的程序員未必是“語言律師”,即那種非常清楚的了解語言的各個細節,在編程時到處使用的家伙。好的程序員也不常“炫技”,在代碼中精心構造一些獨具匠心的片斷,他們偶而會,但大多數時候總是用直白的語言來表述。

從代碼也可以看出一個程序員的團隊協作精神。注意團隊合作的程序員,會嚴格按照團隊規范寫代碼,而風格與團隊規范不一致的程序員則很可能欠缺團隊精神。注意團隊合作的程序員會注意給模塊的對外接口加以重要的說明,如前置條件、后置條件、參數能否是NULL等等,不注意團隊合作的程序員懶于處理這些細節。

好的程序員與差的程序員的生產力差別巨大,項目的周期越長,項目越復雜,項目對質量的要求越高,好的程序員的價值就越大。好的程序員與差的程序員,管理成本也差別巨大,好的程序員只需要與他共同確定設計,代碼可以不看,差的程序員的代碼經常需要經過多次review,且仍有可能達不到理想的質量。

要成為好的程序員,首先要樹立要成為好的程序員的志向,再勤加練習,天長日久,就會越來越好,這些人不怕老。沒有志向永遠成不了好的程序員,這些人若不在老去之前成為經理就會變成廢人。

通過兩個小時的筆試和半個小時的面試對于判斷程序員來說是不夠的。通過筆試與面試,你可以判斷一個程序員是否具備算法與數據結構等基礎知識,可以判斷他對編程語言的特性是否掌握,可以判斷他對技術是否關注,然而要知道他能否真的能很好的完成工作,不寫代碼是不夠的。

那些顯得對技術充滿熱情的,未必是好的程序員。這些人可能非常樂意從事有新意的工作,但后續的編碼、測試、調試、文案工作則可能讓他們感到厭煩。他們可能會提出好的創意,但卻經常不能夠有始有終的將其完成。公司不需要多少這樣的人。

因此招聘的方式需要改善。招聘是最重要的,因為進來后就難以出去,即便是試用。轉正條件白紙黑字寫的很清楚,只要合格就可以轉正,要達到合格并不是很困難。今年部門里進了很多新人,并不是人人都很優秀,但確實也都合格,自然也應該轉正。

#t#改善招聘的方法,就是讓他寫程序,可以出兩道題,一道讓他寫程序,一道讓他重構一個已有的較長的程序,一天之內完成。假使可以考他半個月,那么重構是不太需要的,但一天的時間太短,通過重構可以考察閱讀并理解代碼,并通過重構“化腐朽為神奇”的能力。那些不愿意寫別人的代碼,不愿意接受別人的代碼,經常要重來一遍的人是不理想的。

今年有兩個人采用了類似的方法。有一位簡歷很優秀的人,做了兩道編程題被拒了,有一位簡歷及面試一般的人,通過編程測試,錄用了。我感覺比單純的筆試與面試要準確。

責任編輯:yangsai 來源: 風輕揚的博客
相關推薦

2021-01-09 22:35:51

程序員編碼代碼

2015-04-03 11:15:32

程序員如何寫簡歷寫簡歷技巧

2015-10-09 09:21:01

程序員寫書

2014-03-25 10:35:35

程序員代碼調試

2011-05-26 09:39:53

程序

2019-05-15 09:59:24

程序員技能開發者

2017-10-17 12:47:19

2020-09-27 14:55:27

程序員技能開發者

2012-01-04 09:50:07

程序員

2013-01-22 13:50:11

程序員前端Web

2019-11-07 22:00:22

程序員代碼規范

2015-07-02 11:20:17

程序員代碼

2018-12-19 17:20:17

2022-08-11 08:18:19

前端程序員

2017-03-13 09:07:05

測定代碼基因

2019-09-21 21:25:04

程序員代碼優雅代碼

2013-06-09 09:56:35

2022-11-10 08:03:37

GitHubCopilot

2015-11-23 17:27:19

程序員寫代碼

2009-06-22 09:06:57

程序員技術升級
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲精选久久 | 九九亚洲 | 欧美性生活免费 | 日韩欧美久久精品 | 精久久久久 | 国产日韩欧美一区 | 成人免费观看男女羞羞视频 | av网站免费看 | 国产亚洲一区二区三区 | 亚洲狠狠 | 色婷婷激情综合 | 日韩欧美一区二区三区免费看 | 国产成人av在线播放 | 爱草在线 | 国产精品成人一区二区 | 91亚洲一区 | 日韩成人在线视频 | 99久久精品免费看国产免费软件 | 男人的天堂在线视频 | 欧美一级全黄 | 一级片免费视频 | 欧美亚洲国产日韩 | 久久另类视频 | 免费一级淫片aaa片毛片a级 | 欧美一区二区在线观看 | 亚洲高清视频一区 | 一区二区在线免费观看 | 久久精品国产亚洲夜色av网站 | 在线观看中文字幕 | 人人爱干| 日韩精品久久久 | 91一区二区三区 | 伊人伊成久久人综合网站 | 你懂的在线视频播放 | 午夜在线免费观看 | 激情久久久久 | 操人网| 久久久人成影片一区二区三区 | 国产欧美在线一区二区 | 精品一区二区三区91 | 国产亚洲成av人片在线观看桃 |