論代碼的價值

論代碼的價值

大師說過:價值是用社會平均勞動時間來衡量的,價格是市場供需關係的反映。

1行8元

為了估算方便,假設大家的代碼都是相同開發難度、相同開發水準,那麼代碼行數除以開發量就是代碼的價格了。

我無法拿到更多數據,只好依據觀察法,我所在的前端小團隊4-5人左右,從一年多開發項目中的代碼庫分析代碼量。通過 kentcdodds/cloc 代碼行數粗略評估得到:平均1人1天大概75行左右,算上開發者月薪,大致1行代碼8元左右

這個75行的數據我認為相對靠譜,我刷今日頭條時有文章講到騰訊一年新增了多少行代碼,具體數記不清,但當時我就用計算器算了下,也是70-80之間。

看新聞說價值百萬的代碼格盤跑路,裡邊的計算方法是怎麼得出?莫非也是按員工薪水算出來的?還是按甲方的報價?

大師說過:talk is cheap, show me the code.

1天7.5交互

進一步地,根據需求量除以代碼量反推論出產品需求的價格?

如何評估前端的需求量呢?假設需求量是固定不變的Axure原型,原型標識出需要很多代碼量的交互元素,即鏈接、按鈕、輸入框、轉場動畫,為了簡化估算方法,假設這些交互元素組成全部所需的代碼量,每種交互元素都是相同的代碼量,那麼根據觀察法得到,1個交互大概10行代碼,即平均1人1天大概 7.5 個交互。此評估法參考性略差,用於個人接外單倒也行,用於評估他人KPI則萬萬不可,否則我將從此背負多少罵名。

保持專註

假設需求固定,為提高價格,只能縮短開發時長。羅胖講過,工業時代的勝利,很大程度是發明了流水線。那麼理論上,專人做專事,前後端分離,這種模式會大幅提高效率。

據我所知,大廠細分得非常厲害,就前端開發這塊,有人負責搭項目,有人負責寫組件,還有人專門負責寫樣式。

就個人而言,長期保持專註符合一萬小時理論和揚長避短的道理。

以下是我整理的一些個人建議:

1. 遠離陌生區:對前端開發而言,就應該遠離後端,像java/go/php/apatche/ngnix/mysql 入門似乎不難,有的教程還說5天入門,5小時入手,但是呢:

1.1 遇到未知錯誤會卡住

1.2 長期不使用容易忘記

1.3 技術迭代快容易過時

1.4 補己之短不如揚己之長

現實中遇到需要這些陌生技術的場景怎麼辦?

- 如果是興趣愛好,不妨請能者幫忙

- 如果是好友請求,那麼遠離豬一樣的隊友

- 如果是工作需要,回復能力有限,愛莫能助

2. 遠離新技術:新技術應該是是陌生技術的一部分,拿出來講,是因為新技術可能是未來用到的主流技術。這裡邊需要很多選擇哲學。

從成本與收益考慮,新技術不應該引入到有deadline的項目中,新技術只適合引入到實驗性的項目,如自己的練手項目、開源項目等。

3. 遠離破壞者:遠離一切破壞時間計劃的人事物,像遠離不守時之人,遠離議而不決、決而無行的會議, 遠離無聊。

4. 遠離重複操作:程序員應該避免做機械重複的操作,而靈活運用各種小工具(特別是命令行)快捷鍵快速達到目標。下篇打算分享提高前端開發效率的小工具...


推薦閱讀:

在人生的任何時候(尤其是年輕時)都要儘力做到自律/高度自律嗎?
整理Excel數據
《番茄工作法圖解》—你可以活得輕鬆
工作永遠做不完,怎麼提高工作效率篇(一)

TAG:代碼 | 前端開發 | 效率 |