2017-11-04 35 views
-2

我有一些關於程序員的行爲在ide裏面的數據。從這些數據中,我試圖做出一個很好的算法來計算程序員的效率。製作算法來獲得程序員的效率

如果我們考慮

效率=有用的能量輸出/能量

我做了這個粗略的公式:

能量=活動時間(運行事件X代碼編輯時間)

基本上它的程序員實際上正在做的東西乘以運行事件的時間,例如 調試,編譯等x程序員實際編輯代碼的時間。

有用能量OUT =能量 - (#unsuccessfulbuilds + abortedtestruns + debuggerusetime)

有用的能源出來基本上是,我認爲是低效的負能量的東西。

任何人都可以看到如何改善這一點,特別是從數學的角度來看。數學不是我的強項,我不確定是否應該對方程式使用某種權重,以及如何正確執行此操作。另外,我正在考慮如何使它在有用的能量輸出方程中從能量中消耗的能量最終小於0.任何人都可以提出這些問題嗎?

+0

您是否嘗試過使用您當前的算法運行一些實驗,並查看結果是多麼有用?如果算法的結果看起來是任意的,然後調整它。在這種情況下,它看起來像「有用的能量」*這個術語在本質上是主觀的,所以如果我是你的話,我會先嚐試一下。 –

+0

我還沒有編碼它,但計劃在下週進行測試。只是想事先得到一些意見,不要浪費時間在我沒有意識到的東西上 – dmnte

+0

在這種情況下,你應該知道Stack Overflow通常希望你先完成一些工作,這樣他們可以給你建設性的批評,以改善您的代碼並解決您的問題。爲了防止「浪費」你的時間,請求他人花時間在我看來是坦率的粗魯,而不是本網站慷慨的操作方式的精神 –

回答

2

你的「算法」是完全任意的,對於那些對你所謂的「高效/無效」無關緊要的事物進行價值判斷,並在計算後最終得到完全不連貫的最終值。編譯時間?因此,需要30分鐘以上的C++插件的第一次編譯是好的?在您的提案中,調試時間既高效又低效。 程序員編寫10分鐘並連續編譯6次,接近於無變化,與編寫60分鐘的編程人員具有相同的輸出。 我建議你看看什麼是一個很好地利用程序員的時間,其他程序如何讓程序員的工作效率大打折扣。等等 只是一個側面說明,要創建一個高度技術性和創造性領域的工作效率模型,您必須理解相當好的數學,統計和項目管理。這就是爲什麼好的Scrum大師如此追求。 無論如何,你提出的不是一種算法,而是一種評分系統,通常算法會利用評分系統來幫助他們的內部規則根據評分找出最佳解決方案。評分只是一個值,而算法是一個過程到結束。