導航:首頁 > 軟體知識 > 怎麼衡量程序員生產力

怎麼衡量程序員生產力

發布時間:2022-07-11 18:16:25

Ⅰ 代碼量能衡量一個程序員的編程水平嗎

能!

相同功能的前提下,代碼量越少水平越高,代碼耗時越少水平越高,很考驗程序員演算法功底以及對數字的敏感性。

比如網上流傳的當年Quake iii中算平方根的函數,一般算開方需要不斷迭代逼近,耗時較多,而卡馬克的不同之處在於,他選擇了一個神秘的猜測值 0×5f3759df作為起始,使得整個逼近過程收斂速度暴漲,對於Quake III所要求的精度10的負三次方,只需要一次迭代就能夠得到結果。雖然我看不懂,但是提高程序執行效率,降低迭代/遞歸/循環次數,提高代碼閱讀性,以榨油的態度對待開發是每個程序員的終身目標。

floatSquareRootFloat(floatnumber)
{
longi;
floatx,y;
constfloatf=1.5F;
x=number*0.5F;
y=number;
i=*(long*)&y;
i=0x5f3759df-(i>>1);
y=*(float*)&i;
y=y*(f-(x*y*y));
y=y*(f-(x*y*y));
returnnumber*y;
}

Ⅱ 如何對程序員績效考核

我認為績效考核對程序員或者對整個公司都是重中之重,但是對程序員怎麼績效考核?難道看敲得代碼數量嗎?績效考核的先決條件是工作可測量。

從這個角度講,有兩種方式可以綜合使用:

1.代碼量。

每天下班進行工作提交時,統計今日修改,新增的代碼行數,業界基本水平大約是200行。


如果你做到了上面這些, 好恭喜你,你們公司非常正規了,如果這個程序猿工作不努力,幹活不認真,產出效率低,那麼問題一定不是處在程序猿身上,而是HR工作有問題.

Ⅲ GitHub 能作為衡量程序員能力的指標嗎

GitHub 越來越成為「衡量程序員能力的指標」了,但竊以為不應該以此估計一個程序員的真實水平。

首先,一個優秀的 GitHub 賬號當然能讓增色不少。
親身經歷就是經常會收到郵件說是 GitHub 上看到的,希望能去面試之類的;又或者某同學的同學看到的 GitHub 說:」哇,這妹子比粉絲還多,要去搭訕下~」之類的。
(註:的 GitHub 粉不算多,300 還不到,最多 star 的項目也就 22 個 star,跟大 V 不好比,但是也可見一斑了。)

但是,這些 follower 和 star 就能說明這個人或者這個項目很厲害嗎?
也不盡然。
就像任何社交網站的一樣,GitHub 大 V 建個空白的 repo 都能有好多贊。
那麼有人要說了,那是大 V 本來就很厲害,從這個角度上說不正說明了和能力成正比嗎?

不,因為 GitHub follower 和 star 多,不僅僅是經常寫高質量的開源代碼就能實現的。
就比如一個新加入 GitHub 的人發布了一個超牛的項目,如果他不做任何推廣,那麼很可能這個項目只能等到若干年後別人搜索到關鍵詞的時候才被零星的幾個人點贊了。
或許有人相信酒香不怕巷子深,但在信息過剩的時代,又有多大概率的酒香能飄出這個小巷呢?

還是拿自己的經驗說吧,在混跡知乎之前,也就一百來個 GitHub 粉絲。做的一個「變卦」的項目(Ovilia/biangua · GitHub)
也就通過微博豆瓣之類的社交網站給朋友看看,一直也沒什麼
star,只傳播了三四百人。直到知乎上小小漲了點粉,突然就有很多人訪問這個項目了,star 當然也慢慢漲起來(雖然現在也就 9 個!也好想變大
V,這時候要是說「現在有 9k 個star」不就超有說服力嘛!)
結論就是,即使的項目很牛(至少很有趣),在沒有其他途徑宣傳的前提下,很難在 GitHub 上有很大反響。因此,GitHub 的 follower 和 star 多,很大程度上參雜了各種推廣的因素,直接用來衡量程序員的水平是不公平的。

那麼問題又來了,在變大 V 前,各個社交網路都沒有很多粉絲,又怎麼有效推廣 GitHub 呢?這似乎是一個先有蛋還是先有雞的問題。
所幸這個問題還是比較好解決的,那就是在各種討論組之類的地方宣傳的作品。如果項目不是只有中國人才能理解的(比如做的「變卦」就很難跟老外解釋),盡可能用英語發到很多外國人也用的論壇,比如 G+ 的 Community 和 Reddit。雖然 Reddit 帶來的訪問量會比 G+ 多得多,但一直覺得那邊的人都比較尖銳,所以只在作品確實比較優秀的時候再發 Reddit 吧。

扯遠了……回到正題,另外一個不應把 GitHub 作為衡量程序員水平的原因是,GitHub 畢竟是業余時間對開源社區自覺自願的貢獻,既然如此,就不應「綁架」所有人都努力地在 GitHub 上貢獻代碼。否則,這可能是一種變相的歧視。參見這篇有意思的文章:The Ethics of Unpaid Labor and the OSS Community

說到這里,題主的三個問題就都能得到解答了。GitHub 雖然很重要(就像臉對看臉的世界很重要一樣),但是一張漂亮的臉蛋最多就是個敲門磚,不能過份強調它的重要性,畢竟別人可以在看不見的地方優秀。

Ⅳ 如何量化衡量一個程序員的工作量和工作效率

1. 代碼數量

可以統計代碼行數,或者字元數量。

2. 代碼質量

顯然,代碼長不等於工作量很大。不光要考慮代碼的數量,還要考慮代碼的質量。那麼什麼樣的代碼是高質量的呢?什麼樣的代碼是「好」的呢?

「好代碼」的評判標准可能非常主觀。主流的價值觀中大概有以下標准:可讀性好(注釋不多不少,版面整潔,符合公司規則,變數名有意義等)bug 少(正確處理各種異常和錯誤)。優雅(設計優雅,實現優雅)

(4)怎麼衡量程序員生產力擴展閱讀:

程序員的日常工作

1.確認通過審查方案的目標,輸入數據,分析師,監事,和客戶的輸出要求的項目要求。

2.安排項目要求在編程序列分析要求;准備工作流程圖和使用計算機知識的能力,題材,編程語言和邏輯圖。

3.編碼工作流程的信息轉換成計算機語言的項目要求。

4.通過輸入編碼信息的計算機程序。

5.確認程序操作進行測試,修改程序序列和/或代碼。

6.准備寫操作指令供用戶參考。

7.保持歷史記錄,通過記錄方案的制定和修訂。

8.維護客戶的信息和保護保密的業務。

技能/資格:一般的編程技巧,分析信息,解決問題,軟體演算法設計,軟體性能優化,注重細節,軟體設計,軟體調試,軟體開發基礎,軟體文檔,軟體測試。程序員其實分為很多種,大家開發的語言可能不盡相同,但是都是有他們的共同點。

參考資料來源:網路-程序員




Ⅳ 如何成為一個優秀程序員

從初入職場菜鳥到職場大咖,很多程序員在努力充實自己,有時候我們需要對自己進行一次能力定位,了解自己的優勢和沒有掌握的技術。芯學苑列出幾點作為初入職場的新手評估自己,明了前進學習的方向。

1、技術能力(解決問題的能力)

這是非常重要的事;過硬的技術能讓你得到面試機會,並在工作中游刃有餘。當公司招聘一個Java開發人員時,是會優先考慮能力因素的。在實際的項目開發中,一個程序員的技術能力等於其解決問題的能力。

如果拿一個尺度來衡量這個能力的話,一個程序員的能力可以用能完成任務的數量和難度來衡量。一個程序員能基本無誤的完成項目中的一個功能算是合格,但在此之前,他對項目的生產力為負,為他布置的任務,中間環節的溝通,修補bug的時間其實要多於自己直接完成該功能的時間的。能較好完成一個完整模塊的程序員才算是較好的程序員,也是項目中的主要開發者。能獨立完成整個項目才是優秀的程序員。

2、專業基礎(知識的積累)

一個程序員的知識積累很大程度上決定了其解決問題的能力。知道如何編寫代碼是基本的技能,但是知道Java編程語言的原理,知道代碼背後的演算法將使你從人群中脫穎而出。

3、主流編程工具

今天,事實是,你不能成為一個樣樣都懂的人(雜而不精)。你必須選擇你要掌握的工具。有時這是由工作的環境決定的,但是按照下面說的去做也是一個很好的選擇:

構建工具:Maven或Gradle。

SCM:Git(不是GitHub。大不相同)。

構建自動化:Jenkins。

IDE:Netbeans或Eclipse——不僅用於編寫代碼,而且還從IDE中重構和調試代碼。我遇到了很多沒有如何從他們最喜歡的IDE調試的開發人員。

Bug跟蹤:Bugzilla或Jira。

4、JSF的知識

應用程序伺服器

所有Java開發人員應該知道如何在Apache Tomcat中部署。

當Glassfish開發停止時,下一個最好的事情是J Boss Wild Fly。

5、溝通的能力

溝通是我們做好一切事情的關鍵。我們必須與我們周圍的環境保持互動,無論是在我們的私人還是職業生活中。一個良好的程序員知道如何在各種團體面表達自己。也許對你來說顯而易見的東西在他人的角度來看並非如此。

從大的尺度(比如一個人的工作生涯)來看,一個程序員知識積累的多少只決定於其自學能力和他對編程本身的興趣。

在一個分工明確的項目中,程序員需要理解產品,和領導溝通理解自己的任務,和同事們溝通以正確的方式進行合作。無論哪一個方面溝通出了問題都不是小事情,同時,程序員還需要正確的傳達設計的實現難度,以及讓別人正確的理解自己設計模塊的介面。在不寫文檔時,正確的口頭溝通非常重要,需要寫文檔時,良好的編輯能力也算做是溝通能力的一部分。

6、自學能力

這是一個非常重要的技能,在你自己的空閑時間學習新的技能。不要等待公司為你提供培訓。你需要自己去學習新技術,提升自己在相關領域的水平。從Java後端開發到架構模式,總是有一些新事物值得學習。經常閱讀博客和論壇,嘗試加入本地聚會小組。你學到的東西可以幫助你的事業。知識刷新頻率極快讓人無法追趕的這個時代,難免會有超出自己知識范圍的時候,此時你的自學能力決定了你能多快的完成任務。

7、良好的團隊合作精神

無論是部分編程還是大型項目,所有開發人員都是作為團隊的一部分在協同工作。你需要致力於團隊的目的,或幫助新的團隊成員克服障礙。不要存在這種「我只要做好我的本職工作,下班就直接回家」的態度。成為團隊的一部分,幫助周圍的同事,對自己的能力也是不小的提升。

就像拿破崙說的不想當元帥的士兵不是好士兵,追求參與一個大型軟體系統的開發,是每個程序員的夢想。在此之前,應該學習更多的專業知識,達到優秀程序師的標准。最後希望各位程序員閱讀本文後能夠得到一些裨益,在這條路上走得更好。

Ⅵ 怎樣衡量一個JAVA程序員的技術

8. Java、.net、C++、PB、VB、Delphi、匯編到底應該學哪個?我的經驗,哪個最簡單就先學哪個、公司用哪個 8. 不要以為程序員的工資都很高,程序員之間的水平差異也大。公司衡量一個人的待遇標準是他能給公司帶來

Ⅶ 如何衡量程序員的工作效率

最有效率的程序員會比一般的程序員的編程效率高上幾個數量級。但在任何公司里,他們的工資水平卻只會出現很小的浮動差距。甚至在整個行業內,這種差距也不是很大。如果一個程序員的效率能達到其他人的10倍,為什麼他不能得到10倍高的報酬呢?
joel
spolsky在最近的他的一個演講里
就這個問題給出了一系列的答案。首先,程序員的工作效率在整個行業內千差萬別,但在一個公司里卻不會有太大的差距。如果一個人比他的同事的效率高10倍,
那他基本上會離開,要麼去找更有天賦的人一起工作,要麼去創業開公司。第二,極高的工作效率並沒有被察覺。這篇文章我們主要討論這第二種情況。
一個人的工作效率比同伴高10倍怎麼可能不被察覺呢?在某些行業里,這種差別是顯而易見的。一個銷售人員的效率是他的同伴的10倍,這很容易看出來,而且他也能得到相應的報酬。銷售成績容易測量,就比如有些銷售人員銷售額會是其他人的數十倍。一個泥瓦匠的工作效率是其同伴的10倍,這也很容易看
出,但這種事情不會發生:最好的泥瓦匠也不可能比一個一般的泥瓦匠快10倍。軟體的產出不可能像銷售或砌磚那樣容易的測量。最好的程序員並不是能寫10倍
多的代碼,他們也不是能多干10倍多小時的工作。
程序員在避免寫代碼時才體現出最高的效率。他們能認識到人們要求他們解決的問題並不需要解決,他們能知道客戶並不清楚自己想要的東西是什麼。他們知道什麼地方可以重復利用或可修改來解決問題。他們會欺騙客戶。
但是,當他們做到了最高的效率時,沒有人會說「哇塞!這比用那笨辦法做會省事100倍。你應該漲工資。」頂多人們會說「這個主意不錯!」然後繼續幹活。你需要很長的時間才能發現有些人經常性的顯現出省時省力的睿智。或者反過來說,你需要很長的時間才能認識到有些人雖然經常加班加點的編程卻沒有什麼產出。

Ⅷ 頂級的程序員是怎麼樣的

頂尖的程序號是非常牛X的,頂尖程序員常說:「這個我以前寫過一個模塊,我找找,很快。這就是區別,

第四 勇於去研究你不懂的代碼,如果你經常去研究你沒有接觸過的代碼,你就會越來越熟悉不同的代碼結構和設計模式。
以上只是描述頂尖程序號其中幾點特點,當然他們的優 勢遠遠不止這些啦。

Ⅸ 關於程序員,卓有成效的績效考核方法

考核程序員第一條:編程能力,看代碼行數和實現的功能項數
考核程序員第二條:糾正能力,考核其按時完成整改和待整改問題的比率
考核程序員第三條:程序風格,檢查裡面違反編程規定的次數作為關鍵的考核點

閱讀全文

與怎麼衡量程序員生產力相關的資料

熱點內容
巨杉資料庫什麼時候更新 瀏覽:912
資料庫為什麼要做查詢優化 瀏覽:553
如何搭建股市交易體系 瀏覽:414
超大數據分析如何設置 瀏覽:995
廣州清平市場是哪個街道 瀏覽:625
成都哪裡可以學電工技術 瀏覽:448
中標代理公司怎麼做 瀏覽:112
box產品怎麼樣 瀏覽:863
蘇州庫存襯衫市場前景如何 瀏覽:410
烏龜市場有哪些 瀏覽:816
蜻蜓mm信息費是什麼 瀏覽:708
p2p有哪些數據 瀏覽:959
全國最大批發茶樹苗市場在哪裡 瀏覽:454
施工技術崗是做什麼的 瀏覽:769
歌錦女裝西安代理在什麼地方 瀏覽:527
女朋友不愛回信息的原因是什麼 瀏覽:450
網路用戶是什麼認證技術 瀏覽:244
公益一類里的公共資源交易指什麼 瀏覽:595
eviews72怎麼導入數據 瀏覽:217
品牌信息的鋪墊是什麼 瀏覽:400