誰寫過的代碼有10w行? 是不是c++的代碼量特別多?其它語言需要10萬行的項目多嗎?
www.gaclib.net 光一個項目就已經12w行了,跟WPF什麼的比起來咱是還像一個玩具。這點行數根本算不上什麼東西。正常的軟體都是幾百萬至少。
有多難啊…… 1000行的文件 x 100個而已。
不過實現同樣功能的代碼,代碼量應該是越少越好。
我覺得寫過1000頁文檔的程序員更少……
這我做的一個小項目。刨掉我用的一些libraries,月均產量應該在10000行左右(重構掉的不算,重構的算上的話那產量驚人)。一天500行,干12小時(因為雙休一個月差不多做20天吧)。差不多一小時能寫40行的樣子,這個並不困難,有時候寫CSS一高興一小時就寫兩三百行;有時候寫Python,一小時寫出來也沒多少。當然我經驗豐富,有時候一高興啪啪啪寫起代碼跟打字似的,一口氣寫個幾百行然後再做測試,所以一個星期只有開頭那兩三天幹得比較多,後面就基本都在慢慢地測試代碼,然後修復。
我以前做的那些稍微大一些的項目,都是我一個人做的,所以沒有用版本控制也沒法統計寫了多少了,大概一個五六萬行吧。
我幹了8年,代碼量應該應該好幾十萬了吧,沒準都上百萬了。當然,我覺得按行數來算經驗一點意義都沒有。
最大程度封裝、復用代碼,寫的會少很多,如果你全用過程式來寫,一個月刷幾十萬估計都不是問題吧?
- 你寫個JavaScript,一個Ajax的參數傳進去就十幾行了吧?
- 你寫個Python爬蟲,一個Requests的HTTP Header和Request Parameter的Dict傳進去,就十幾行了吧?
- 你寫個功能豐富點的SQL,調用SQL的是解釋型語言讀取所有結果在外部判斷處理肯定效率更低,那麼LEFT JOIN、WHERE、NOT EXISTS、ORDER BY……,加上查詢參數,你要寫得方便閱讀,一個個換行,又是十幾行了吧?
- 你寫個C#,Class里的成員都加上set和get,加上C系語言特徵的花括弧,又是幾十行……
- 寫CSS,幾個Button下來上百行,不是開玩笑(可能上面那個項目,寫得最多的是CSS了)
- 寫彙編,底層、低級、繁瑣,實現一個同樣的功能,代碼量是C/C++的數十倍不是開玩笑的
- C系語言,強類型、編譯型,要用多少變數,全部得在開頭申明一次,又是刷行數的利器
寫過 10 萬行代碼的程序員,數量多到不值得問這個問題。
很多程序員的工作狀態是每天寫 300 多行代碼,這裡說的很多,到底是哪些人我不好界定,不過外企一般不會寫這麼多(他們經常一個月都寫不到 300 行)。按照這個速度算,上班一年半就足夠寫 10 萬行了。質量是一回事兒,數量絕對有這麼多。
之前上班的公司里一位大哥,我一直也不知道他的 title 掛的是項目經理還是工程師還是別的什麼,反正進度他管,項目他跟,代碼他也寫,前台後台什麼他都懂,山寨版 full stack。我剛去的時候幫他維護一套 CS 模式的軟體,我統計了一下 20 萬行左右,一開始我老跟他抱怨這套軟體代碼質量差,這坨屎到底是誰寫的?抱怨多了,有一天他終於不耐煩了,說:
我大學畢業剛來領導就把項目交給我了,我邊學 C++ 邊開發,沒白沒黑的寫了兩個月,能實現功能就不錯了,還管什麼質量?
我問他當年和你一起開發的同事呢?都離職了?
哪有同事啊?就我一個人寫的!
所以你看,10 萬行一點都不多是吧?
不過,還是那句話:
小學生才比代碼行數,成年人只看工程效果。
就醬。我啊,,,,
當然有90%以上的代碼都刪掉了。
溫趙輪應該也夠數了,,,,
王垠應該也夠數了。其實幹了幾年的程序員都夠這個數了,,,
區別恐怕在於這些代碼被刪掉了多少,和相似性有多少吧,,,,XD怎麼算寫夠10w行啊。。我隨隨便便一個目錄cloc一下都是這個效果。。
當年剛工作自己寫一個Tcl/Tk幾何工具類就寫了5000行要做成C++估計還要長一些
幾年前,兒子出生之前的半年裡,
我有了一個小小需求的解決方案,
於是決定業餘搗鼓成小軟體,能賺點零花錢給他買點玩具。於是從12月份註冊域名開始,
折騰了2個多月,界面代碼、網站大體功能就做完了。第二年的情人節上線,愚人節迎來第一單,又過了一個月兒子出生,只可惜當時DR的美刀還是沒匯到#¥%偶爾改下bug升下級,
如今這小傢伙都快上小學了,今天看到這個問題,特意去統計了一下裡面的c++代碼行數: 85139行算下來,差不多一行0.1美金的毛收入。SW這行業如今實在是慘淡無比......按照奧巴馬演算法,我司五個程序員一年寫了超過30萬行Javascript。這還沒算實打實的超過兩萬行的go代碼。
今年年初統計的時候實驗室機器上自己寫的代碼大概有7W多不到8W行,3W多行Python,2W多行C,剩下的就是Java啊Haskell啊C++啊之類的,三天打魚兩天晒網的水平寫了兩年多差不多這個數
擼個簡陋到不能再簡陋的Django後台都有5k-6k行,10W行其實不是太多
ACM集訓的基本標準是一天1000行,三個月就有這個數了用彙編寫個程序10W行妥妥的。
大一C語言課第一次老師就和我們說PKU、THU CS專業的學生讀完大學平均寫40w行,現在問題來了
遊戲項目輕鬆十萬行,還不包括公用庫的。現在我在擼一個代碼量可能達到百萬行的遊戲。
本科畢業時候啥也不會,工作三年總共剩下7w+行代碼,當然這裡邊不包括寫了刪掉的,修改的什麼什麼的,反正最後從svn上checkout下來的乾淨版總共7w+行
還是那句話:質重於量!質好量少,將來維護也省事。質差量大將來維護,可就……切勿本末倒置~~
不請自來。各種開發語言的人工效率是不一樣的,而且項目大小也決定了每個人的工作效率。我所說的效率是指故障收斂後的代碼統計量除以人月。沒有通過測試也沒有正式商業運行的代碼是不算數的。就我熟悉的C語言,如果是二萬行以下項目,基本上開發效率是2000行/人月。
如果是十萬到百萬行的項目,以前的公司統計過,200行/人月。聽起來效率挺低的,其實一個月寫出200行無bug的代碼其實很難的,尤其是需求還在變。
另外,一個完整的通信協議棧,代碼其實不超過10萬行。但是看看各個通信公司,人山人海的。輕鬆啦,之前一個小小的換裝遊戲還沒寫完呢就已經1.7W了。隨便個什麼項目代碼上10W很正常。
應該說以編程為職業的人誰沒有寫過
推薦閱讀:
※有沒有關於多線程同步的經驗,或者書籍推薦?
※為什麼有很多程序員喜歡穿衛衣寫代碼,而且還不把帽子放下來?
※如何自己實現一個關係型資料庫?
※開發流氓程序是一種怎樣的體驗?
※合作同事代碼寫得很爛怎麼辦?
TAG:代碼 |