衡量服務(wù)質(zhì)量的六個(gè)標(biāo)準(zhǔn) 如何辨別一個(gè)程序員水平的高低?
如何辨別一個(gè)程序員水平的高低?以上五個(gè)步驟基本上說(shuō)明了它是否是一個(gè)好程序3000行,這是無(wú)腦代碼生成器計(jì)算代碼的結(jié)果。如果你不是在一家外包公司,你就是底層的藍(lán)領(lǐng)軟件工人。當(dāng)然,公司也不小。質(zhì)量代碼,每
如何辨別一個(gè)程序員水平的高低?
以上五個(gè)步驟基本上說(shuō)明了它是否是一個(gè)好程序
3000行,這是無(wú)腦代碼生成器計(jì)算代碼的結(jié)果。如果你不是在一家外包公司,你就是底層的藍(lán)領(lǐng)軟件工人。當(dāng)然,公司也不小。質(zhì)量代碼,每天100行甚至30行已經(jīng)很好了。
我曾經(jīng)接手一個(gè)項(xiàng)目,由2-30人維護(hù),但在運(yùn)行中仍然存在問(wèn)題。當(dāng)時(shí)的問(wèn)題是是否用新的建筑重新開(kāi)發(fā)。在研究了項(xiàng)目架構(gòu)和代碼之后,我決定優(yōu)化現(xiàn)有的項(xiàng)目,而不是重新開(kāi)發(fā)它。一個(gè)團(tuán)隊(duì)做了客戶要求的新模塊,我?guī)ьI(lǐng)團(tuán)隊(duì)做了提高穩(wěn)定性和使項(xiàng)目可維護(hù)性的工作。最后,在保持函數(shù)不變的情況下,我將項(xiàng)目的代碼減少到原來(lái)的十分之一,性能提高了100倍,數(shù)據(jù)量減少了30%。維修人員減少到5人。客戶反應(yīng)好,維修費(fèi)用不變,所以利潤(rùn)很高。我每天的代碼量相對(duì)于整個(gè)項(xiàng)目是負(fù)的。我以后做的就是每月檢查新代碼,找出不符合規(guī)范的代碼,要求整改,把不聽(tīng)話的程序員轉(zhuǎn)到開(kāi)發(fā)團(tuán)隊(duì)做藍(lán)領(lǐng)。我什么時(shí)候才能理解架構(gòu)的規(guī)范和意義,然后考慮培訓(xùn)和改進(jìn)。就像軍訓(xùn)一樣,我們會(huì)在方陣中邁出積極的一步,然后上來(lái)打一場(chǎng)硬仗。
要求團(tuán)隊(duì)必須有經(jīng)驗(yàn)并精通體系結(jié)構(gòu)。如果人不多,會(huì)有2-3人。如果人太多,他們就做不到。
當(dāng)你的代碼減少到100行,公司對(duì)你的評(píng)價(jià)還可以時(shí),你就真的是在編程,而不是在砌磚。
每天在公司寫(xiě)3000行代碼,在行業(yè)內(nèi)是個(gè)什么水平?
讓我們從程序員的工作年限開(kāi)始。
1-3年,屬于一個(gè)文件,筆記可以寫(xiě)得很好,不怎么bug,就算通過(guò)了。
3-5年,屬于檔案,能看懂業(yè)務(wù),筆記貴精不多。我積累了經(jīng)驗(yàn)。沒(méi)有輪子了。我會(huì)偷懶的。蟲(chóng)子幾乎消失了,因?yàn)檫@個(gè)級(jí)別為自己的蟲(chóng)子找借口。
六年后,它屬于第一級(jí),可以說(shuō)是編程領(lǐng)域的一把老炮。最難管理的人。但這群人嚴(yán)重兩極分化,有的會(huì)回到以前的水平,甚至更糟。還有一些人在建筑師的層面上努力工作。他們少寫(xiě)代碼,多思考。他們?cè)诠ぷ鲿r(shí)間寫(xiě)的代碼不多,但公司的框架可以及時(shí)出現(xiàn),沒(méi)有大問(wèn)題。
關(guān)于這個(gè)問(wèn)題,情況很正常。一年的工作重復(fù)8年,但有8年的工作經(jīng)驗(yàn)沒(méi)問(wèn)題,但絕對(duì)不如8年的水平。
不要噴灑。
怎么有的老程序員的代碼寫(xiě)得還那么爛?
績(jī)效考核是對(duì)每個(gè)部門和員工工作數(shù)量和質(zhì)量的評(píng)估。各類工作都有其特殊性,因此考核工作必須建立適用于各類工作的量化標(biāo)準(zhǔn)。
從程序員的工作特點(diǎn)來(lái)看,生產(chǎn)代碼行數(shù)是評(píng)價(jià)他們工作的最合適的量化標(biāo)準(zhǔn)。雖然這個(gè)標(biāo)準(zhǔn)不足以考慮每個(gè)程序員的工作質(zhì)量,但是程序員的工作質(zhì)量并不是由他們自己控制的。他們只能保證自己輸入的代碼嚴(yán)格按照架構(gòu)師制定的語(yǔ)句原則和變量算法原則,保證輸入中沒(méi)有輸入錯(cuò)誤,至少保證鍵語(yǔ)句輸入中沒(méi)有錯(cuò)誤。只要能做到這些,程序員代碼輸入量達(dá)到規(guī)定的行數(shù)或超額,就可以判斷其性能考核結(jié)果是否合格或優(yōu)秀。
績(jī)效考核的最大難點(diǎn)是崗位量化原則的制定。有些崗位不能用工作量來(lái)考核,比如公關(guān)部。對(duì)于此類部門,其目標(biāo)任務(wù)的完整性比率只能在考核周期內(nèi)計(jì)算。如果比例高于預(yù)定值,則為合格;如果比例低于該值,則為不合格或較差。
績(jī)效評(píng)估是人力資源部的一項(xiàng)挑戰(zhàn)。許多企業(yè)由于標(biāo)準(zhǔn)制定上的問(wèn)題,使得績(jī)效考核流于形式,這是一種非常危險(xiǎn)的現(xiàn)象。這將嚴(yán)重影響整個(gè)公司的工作效率,甚至嚴(yán)重削弱公司的核心競(jìng)爭(zhēng)力,因?yàn)楹诵母?jìng)爭(zhēng)力除了內(nèi)在的市場(chǎng)導(dǎo)向和品牌識(shí)別外,還包括企業(yè)文化戰(zhàn)略和人力資源戰(zhàn)略的有效性
為什么有些領(lǐng)導(dǎo)要用代碼的行數(shù)來(lái)衡量員工的工作量?
在沒(méi)有bug的情況下,首先,程序員熟悉編程。下一步是尋找最具創(chuàng)新能力的程序,并對(duì)代碼進(jìn)行優(yōu)化和簡(jiǎn)化。在一些語(yǔ)句中,你可以使用數(shù)組或一些最小的代碼來(lái)完成你想做的事情,因?yàn)橛性S多不同的方法來(lái)實(shí)現(xiàn)一個(gè)程序的結(jié)果,如何走得最快和最短簡(jiǎn)言之,最簡(jiǎn)單的方法來(lái)完成你要做的是高質(zhì)量的執(zhí)行。
在不出現(xiàn)bug的情況下,如何衡量一個(gè)程序員的代碼質(zhì)量高低?
自2003年以來(lái),我們一直在做程序設(shè)計(jì)。一般來(lái)說(shuō),我們寫(xiě)的代碼越多,我們需要的代碼就越少。
在程序開(kāi)發(fā)之初,我主要做了功能實(shí)現(xiàn)。負(fù)責(zé)項(xiàng)目設(shè)計(jì)的同事把界面寫(xiě)得很好,剩下的就是功能實(shí)現(xiàn)。實(shí)現(xiàn)寫(xiě)功能并不困難。簡(jiǎn)單地說(shuō),數(shù)據(jù)以固定格式處理后,就可以發(fā)回。在此期間,每天的代碼量相對(duì)較大,平均每天大約有500行。
隨著他們編碼能力的提高,很多代碼重用會(huì)做得更好。在整個(gè)實(shí)現(xiàn)過(guò)程中,他們會(huì)采用比較簡(jiǎn)單的實(shí)現(xiàn)方法,也懂得如何使用模塊化的開(kāi)發(fā)模式。通過(guò)這個(gè)過(guò)程,代碼的數(shù)量在一定程度上減少了,但是思考的時(shí)間變長(zhǎng)了,有時(shí)需要一些時(shí)間來(lái)驗(yàn)證。在2006年確定自己的主要方向時(shí),代碼量再次下降。因?yàn)楣ぷ髦行囊呀?jīng)從函數(shù)編寫(xiě)調(diào)整到了一些框架設(shè)計(jì)和算法實(shí)現(xiàn),這段時(shí)間每天的代碼量大約在200行左右,其中很多是編寫(xiě)接口。在此期間,重點(diǎn)工作是實(shí)現(xiàn)算法,做數(shù)據(jù)分析和建模。在這段時(shí)間里,還使用了Matlab,因此編碼量大大減少,但難度增加了很多。有時(shí)需要一周甚至更長(zhǎng)的時(shí)間來(lái)完成算法的驗(yàn)證。
2010年之后,我將機(jī)器學(xué)習(xí)和大數(shù)據(jù)添加到我的主要攻擊方向。這時(shí),我每天的代碼量又下降了,平均有100多行。有時(shí)一天可以寫(xiě)幾十行代碼,對(duì)算法進(jìn)行分析、訓(xùn)練和驗(yàn)證的時(shí)間就變長(zhǎng)了。當(dāng)java第一次被使用時(shí),代碼的數(shù)量可能會(huì)更多。后來(lái),當(dāng)使用Python時(shí),代碼量減少了很多。目前,算法的實(shí)現(xiàn)也采用Python。
事實(shí)上,在計(jì)算機(jī)研發(fā)中,編程更像是一種工具。無(wú)論使用何種語(yǔ)言,最終的任務(wù)都是實(shí)現(xiàn)功能。編碼量與角色有很大關(guān)系,但與編程水平?jīng)]有直接關(guān)系。當(dāng)然,高級(jí)程序員必須有大量的代碼基礎(chǔ),這是毋庸置疑的。