你人生中的第一個一萬行代碼是如何寫出的?

來源:互聯網
上載者:User
關鍵字 localhost 8080 xxx
不限語言種類, 學完了一門新語言的基本文法之後 ,如何完成一個有意義的實踐(類似書上算素數啊算兔子啊感覺就是數學題嘛),才能提升水平,甚至寫入簡曆?(電腦類在校生)
-------------------
時隔那麼久還常有盆友們來回答~ 我當初提這個問題的時候呢, 大概是想體會下不同的人,大家都剛開始學 代碼量打到萬行左右那種沾沾自喜又半懂不懂的感覺。其實也沒指望這個問題能幫到多少忙,或者指明方向之類,就是重溫那段半吊子代碼仔的歲月 (雖然現在也就略微長進~
題主現在找到了不錯的IT公司, 每個禮拜都要寫/改一片片的代碼, 只是心情再也沒有第一次寫完網站,輸入localhost:8080/xxx/, 敲下的斷行符號那樣子愉快了。 (現在高興只限於發工資的那天!!

回複內容:

這個我倒是比較清楚。

大四的時候,修了一門課OOAD,期末沒有考試,用老師教的理論做一個軟體,把代碼和文檔交上去就有成績了。我就做了一個代碼統計軟體,其功能是統計一個項目中所有原始碼的空白行數、注釋行數、總行數。個人比較得意的地方是使用者可以自己定義分析文法以應用到不同的程式設計語言中去。
這個項目本身沒有超過1萬行,但我後來就用它來精確統計我各個項目的程式碼數了。

大四的暑假,經師兄介紹,我用C#做了個電梯監視軟體,在小區中控室監控小區所有電梯的運行狀態,可以在一定程度上自由配置以適應於不同的小區。
這個軟體大約是一萬五千行左右,因為有前面說的代碼統計軟體,所以當我發現超過一萬行時,小興奮了一下。
這個軟體賣了10000元,從2004年到2008年應用於北京幾十個小區,為那家公司節約了很多很多錢(之前他們用的軟體是按小區規模,每個小區都收費的)。2008年他們找我升級做第二版,我婉拒了。所以,我只能確定他們用到2008年。

我曾經去過大約十個部署了這個軟體的小區,看著自己做的軟體為人們帶來安全保障,提高工作效率。那種美好的感覺比寫了1萬行代碼強多了!謝謝邀請。

我也沒算過自己什麼時候寫夠了一萬行。大學時做過若干小項目,基本上都在三千到五千行代碼的規模。直到研究生的項目中,那個項目中我一次貢獻了大約一萬行代碼(一個 C++ 代碼檢查工具)。後來工作了,因為項目需要,反而寫的比以前少。

所謂提升水平,那取決於提問者希望提高的是什麼水平。如果想要的是演算法設計和實現能力,那麼解數學題是必須的訓練,因為沒有這種訓練,就沒有可能熟能生巧。反過來,如果目標是去通過軟體解決實際問題(比如我),那麼做一個軟體項目無疑比解題重要得多,因為項目中的進度跟蹤、管理、支援,都不是演算法題能給的,而實際項目其實並不總是演算法密集型。

我想提問者問這個問題,興許是看過李開複老師說過的所謂「一萬小時」理論。我本身不反對這個理論,但我認為學生沒有必要太過於糾結所謂「一萬行」。在我眼裡,這更多地是一個數量級上的虛數,而不是實際上需要精確計算的行數。保持學習和工作的熱情,比別的都重要。逛python話題,意外發現此帖,勾起不少回憶,謝題主問。
“第一個一萬行代碼”不知是指總代碼量還是指一個單獨程式的代碼量,
前者很容易達到,多做ACM題即可(按平均每題100行算,一天刷100道題就夠了:Welcome to Hangzhou Dianzi University Online Judge )
後者的話,是非常難的(一般小程式達不到這多代碼量)
我翻了下本科寫過的最複雜的一個程式,主檔案代碼量8000+,算上模組檔案勉強夠一萬行,倒可以拿來說說
--
我本科電腦專業,入學以後一直對程式設計語言一竅不通,實驗課基本都是混過,考試勉強及格,直到大三機緣巧合學會VB6.0,才開始正式編程
我本科寫過的最得意的一個程式,是在我學會還原魔方以後寫的一個魔方還原程式,算是學以致用了
現在看來這個小程式有很多不完善的地方,但是當時的我僅用十二天時間(期間還要上課)就能寫出這個東西來,讓目前拖延症嚴重的我感到汗顏
當時我喜歡混跡人人、貼吧,寫完程式後在人人、貼吧發帖供人下載,沒想到第二天文章上了貼吧首頁。。。
當時的文章:當時的文章:
新編的一個魔方求解程式。適合初學者玩。歡迎大家測試
沾沾自喜了好幾天,不過大部分網民都是潛水黨,只會下載,從不留言,很讓人失落,10000多點擊,留言只有69。。。
於是一段時間後我發了個文章2.0,頂帖才給下載密碼,留言增加300+,覺得沒意思了,就把密碼開放了:於是一段時間後我發了個文章2.0,頂帖才給下載密碼,留言增加300+,覺得沒意思了,就把密碼開放了:
(舊帖新發)新編的一個魔方求解程式。適合初學者玩。歡迎大家測試
現在下載地址仍然有效:
neuxxm的網路空間 , 08.9.19 魔方還原器
-
回到題主問題補充中說的,“如何完成一個有意義的實踐”
寫一個小遊戲,用來鍛煉自己的代碼水平(比如我寫的第一個小遊戲是貪吃蛇)
寫一個小程式,試著解決你遇到的實際問題(比如上例中的“魔方還原器”)
逐漸你的代碼實戰水平就提高了。。。
如果想提高演算法水平,多做ACM題即可。
編程很簡單的。
PS:
@程式獵人 說的“猜數字”遊戲我也寫過,也是練手程式之一:)
neuxxm的網路空間 , 08.07.22 猜數字不請自來。
一切以程式碼數為目標的程式員都不是好學生。

初中的時候玩VB,看的是sh*t一樣的教材,讀的是sh*t一樣的代碼,以至於玩了一年多之後還不懂使用數組!

於是初中畢業,有個老師在教委任職,聽說我會寫代碼,叫我幫她輸入中考成績並且做一個分析。基本上就是excel可以搞定的事情吧,但是當時不會用。

拿到一堆資料(白紙黑字)之後錄入了Access2000,兩個人花了一個星期左右的時間。讀資料的方式是在VB上點點點,畫了40個文字框,一個個跟Access的列做了對應,然後通過操作資料表指標控制項讓文字框的值變化,然後從文字框讀下數字,再進行一些簡單的計算。

不會數組的時候有40個文字框寫出來的代碼是啥樣的呢?
Private Sub Text1_GotFocus()
Text1.BorderStyle = 1
Save = Text1.Text
End Sub

Private Sub Text1_LostFocus()
Text1.BorderStyle = 0
End Sub

Private Sub Text12_LostFocus()
Text12.BorderStyle = 0
End Sub

Private Sub Text2_GotFocus()
Text2.BorderStyle = 1
Save = Text2.Text
End Sub

Private Sub Text2_LostFocus()
Text2.BorderStyle = 0
End Sub

...

然後數了一下行數,12399行,一個星期寫完

如果現在去做這件事,先問老師要Excel的源檔案,然後輸一個公式搞定,5分鐘的事。

往事不堪回首一萬行太長,唯寫規劃!謝邀!

這個問題,要是看題目,真不知道怎麼回答。因為寫代碼的時候從來不看寫了多少,只看功能是不是實現了。
然後,忽然一天,可能就過萬了。話說,自己寫程式玩,算行數幹啥?又不是給老闆幹活,需要計算生產效率。

題面中那個如何完成一個有意義的實踐的問題……
我近期都是先有了想做的東西才去尋找和學習最適合的語言。
以前在校的時候,是每學完一種語言,都寫一個猜數字遊戲。就是那個猜4位元字,電腦給一個1A2B這種提示的那個遊戲。
這個遊戲的特定是,沒什麼難的演算法,有基本輸入輸出、輸入檢查,介面可以做成各種設計,內容涉及了迴圈、判斷等基本文法。想做簡單了,可以很簡陋,想做漂亮了也可以做出很多花花綠綠的附加功能。
最重要的是,我喜歡玩。不至於測試的時候自己抓狂了。

做好了,放到網上,免費下載,免費遊戲。如果評價還不錯,就在簡曆裡放一個連結即可。
面試的時候帶個隨身碟,網路訪問不暢的時候,可以直接讓面試官拿去複製了看。

至於如何提升水平……
不管做什麼,做得完備一點。
比如輸入檢查,不要輸一個奇怪的東西就崩潰。
比如測試,全面一點,不要有人亂點了一下就崩潰。
比如畫面,做漂亮一點,可以不用花哨圖片之類的,但基本美感還是要有的。不用糾結代碼量。
現在所有新的語言,編譯器,都是為了精簡代碼量,讓工程師把更多的精力放在思考項目本身的邏輯中。
在研究所實習的時候,用C++寫過一個大約8K行的串口控制器,當時就覺得非常冗長,找BUG要找半天(暴露菜鳥本質X1)。
畢業設計用Arduino IDE作為軟體平台,做的是一個基於MSP430的環境檢測裝置,整個代碼量大約就200行以內吧。之前是用C寫過一部分,寫到單片機和液晶顯示器通訊的時候覺得太麻煩了,要定義各種亂七八糟的東西(暴露菜鳥本質X2)。
換了Arduino IDE後,可以更專註於硬體電路的設計和調校,光是單片機的datasheet、感應器的datasheet裡的幾個錯誤就搞了我倆禮拜(暴露菜鳥本質X3),如果我還是用C寫的話,估計都來不及完成畢設。。。大三的時候用cocos2dx寫了一個山寨保衛蘿蔔2,大概1w行左右,帶著筆記本在圖書館擼了一個多月,基本天天10小時以上,樂此不疲。在學校不知不覺寫出來的。。。

研究生畢業的時候隨手用軟體統計了下自己寫過的程式碼數,發現快5w了。

但是很悲傷的是寫的都是些沒法子複用的糟糠東西,或者刷題目什麼沒有意義的東西。

至今為止還在努力想做點什麼。歪下樓,一萬行代碼沒什麼意義。
  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.