20行200行2000行20000行

C語言的掌握情況鸳粉,在于以下的分界線断医,

20行 ? ?200行 ? ?2000行 ??20000行 ? 200000行黔衡,還有別的

attention:這個(gè)行數(shù),不是你寫了多少行程序決定的耗美,而是大概這么長的一份源代碼京髓,你會寫成什么樣子。

1商架、20行堰怨,了解C語言基本的關(guān)鍵字,操作符.

這個(gè)大小的程序蛇摸,體現(xiàn)不出來程序員的水平

2备图、200行,了解C語言的程序結(jié)構(gòu)皇型,就可以寫出200行诬烹。

只要懂了ifelse砸烦,就可以寫出200行的程序來弃鸦。

這個(gè)級別的程序里,我見過200多行的一個(gè)函數(shù)幢痘,void進(jìn)唬格,void 出,程序里滿了全局變量和

if颜说,else 购岗,&& ,||

這個(gè)時(shí)候就大概能看出一個(gè)人對C語言的掌握情況了门粪,

PS:我個(gè)人認(rèn)為喊积,一個(gè)函數(shù)的長度應(yīng)該控制在50行左右,因?yàn)橐坏┏^了這個(gè)長度玄妈,我們就無法清晰完成的考慮到

特殊情況的出現(xiàn)乾吻,但是50行以內(nèi)的程序髓梅,我們基本可以考慮的周到,最重要的是不會遺漏條件绎签。

稍微掌握好的枯饿,會對變量進(jìn)行封裝(哪怕只是簡單的結(jié)構(gòu)體),

整體程序能分成幾個(gè)不同函數(shù)來進(jìn)行诡必。

你自己可以評估一下奢方,20行和200行的程序,如果只是函數(shù)代碼行數(shù)的差異爸舒,那你的水平就限定在200行蟋字。

程序越大,你的邏輯性就越復(fù)雜扭勉,只掌握這些基本用法的程序員愉老,我不建議寫超過200行的程序,因?yàn)橐坏┏霈F(xiàn)bug剖效,

根本沒有辦法去定位錯誤點(diǎn)嫉入,后人也根本不敢更改你的程序。

3璧尸、2000行咒林,了解C語言的數(shù)據(jù)封裝,參數(shù)傳遞爷光。

? ? ?這個(gè)2000行垫竞,不是整個(gè)工程是2000行的,而是一個(gè)模塊蛀序,一個(gè)單獨(dú)的程序模塊是2000行的規(guī)模欢瞪。

? 其實(shí)在200行的和基礎(chǔ)上,知道使用函數(shù)去完成基本簡單的功能徐裸,哪怕是void Function(void),那你也可以把這2000行的程序去寫完遣鼓,

但是就像只有if else寫的200行的程序,一旦出現(xiàn)問題重贺,就沒法定位骑祟,后人也沒法更改。

這個(gè)級別的程序气笙,必須學(xué)會掌握使用結(jié)構(gòu)體進(jìn)行相關(guān)變量的封裝次企,合理使用函數(shù)的參數(shù)值和返回值,各種指針還有關(guān)鍵的對程序的分層次處理潜圃。

再復(fù)雜的問題缸棵,都可以拆分成簡單的邏輯去完成,如何去組合和運(yùn)用這些邏輯谭期,就體現(xiàn)出來你能否駕馭2000行的程序堵第,

PS:我個(gè)人認(rèn)為稚晚,一個(gè)模塊的基本長度應(yīng)該在500行左右,超過這個(gè)長度型诚,人就很難整體的去理解這個(gè)模塊了客燕,就像TCPIP協(xié)議一樣,你是沒有辦法很快搞清楚七層協(xié)議的狰贯,但是你可以專門搞其中的一層也搓,你可以搞的清楚。因?yàn)樵谀且粚幽阒魂P(guān)心那一層)

所以你寫了2000行的程序涵紊,整體至少分出三個(gè)層次來傍妒,各個(gè)層次之前有很清楚很明了的調(diào)用關(guān)系(這個(gè)地方的控制方式你可以理解為函數(shù)的參數(shù)和返回值,一般來說這個(gè)規(guī)模的函數(shù)傳遞就要使用指針了摸柄,因?yàn)閮?nèi)容太多了颤练,必須封裝,后面我會解釋為何函數(shù)的參數(shù)盡量不要超過三個(gè))驱负。

4嗦玖、20000行,這個(gè)規(guī)模的程序跃脊,都是為了給后人維護(hù)的宇挫。

? 一旦通過了2000函數(shù)的限制,20000的程序可以輕松寫出來酪术,200000行的程序也可以寫出來器瘪,而且邏輯上并不會比2000行難理解多少,那我為何會把20000行作為一個(gè)里程碑提出來呢绘雁,因?yàn)檫@就涉及到了維護(hù)和擴(kuò)展的問題橡疼。

能把2000行的程序?qū)懞茫ㄎ艺f的不是能寫出來),20000行的程序你自己可以維護(hù)庐舟,但是一個(gè)新人怎么維護(hù)欣除,一個(gè)新人怎么借用你的程序,怎么擴(kuò)展你的程序继阻,20000行就會體現(xiàn)出差異來耻涛。

如果你要在20000行的程序上增加一個(gè)功能(大概2000行吧),有多少輪子需要他自己造瘟檩,有多少內(nèi)容他可以借鑒,這就看你能否把你的接口設(shè)計(jì)的合理了(如果能在2000行上得心應(yīng)手澈蟆,我覺得這也不會是問題)

?那么問題來了墨辛,現(xiàn)在新人需要對你的20000行進(jìn)行更改移植,這個(gè)時(shí)候趴俘,就能看出來你設(shè)計(jì)的20000行的好壞了睹簇,他需要更改那些內(nèi)容奏赘,他更改的地方有多少,有多少相同的地方太惠。

? 如果你能解決掉這些問題磨淌,那么你就可以輕松應(yīng)對2萬,20萬行了凿渊。


5梁只、最后一點(diǎn) ?

? ? ?這一點(diǎn)不是通過你駕馭多少行代碼決定的,而是你的算法埃脏,20000行能決定你是否是高手搪锣,但算法才是你高手的真正武器。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末彩掐,一起剝皮案震驚了整個(gè)濱河市构舟,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌堵幽,老刑警劉巖狗超,帶你破解...
    沈念sama閱讀 221,273評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異朴下,居然都是意外死亡抡谐,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評論 3 398
  • 文/潘曉璐 我一進(jìn)店門桐猬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來麦撵,“玉大人,你說我怎么就攤上這事溃肪∶馕福” “怎么了?”我有些...
    開封第一講書人閱讀 167,709評論 0 360
  • 文/不壞的土叔 我叫張陵惫撰,是天一觀的道長羔沙。 經(jīng)常有香客問我,道長厨钻,這世上最難降的妖魔是什么扼雏? 我笑而不...
    開封第一講書人閱讀 59,520評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮夯膀,結(jié)果婚禮上诗充,老公的妹妹穿的比我還像新娘。我一直安慰自己诱建,他們只是感情好蝴蜓,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,515評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般茎匠。 火紅的嫁衣襯著肌膚如雪格仲。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,158評論 1 308
  • 那天诵冒,我揣著相機(jī)與錄音凯肋,去河邊找鬼。 笑死汽馋,一個(gè)胖子當(dāng)著我的面吹牛侮东,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播惭蟋,決...
    沈念sama閱讀 40,755評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼苗桂,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了告组?” 一聲冷哼從身側(cè)響起煤伟,我...
    開封第一講書人閱讀 39,660評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎木缝,沒想到半個(gè)月后便锨,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,203評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡我碟,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,287評論 3 340
  • 正文 我和宋清朗相戀三年放案,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片矫俺。...
    茶點(diǎn)故事閱讀 40,427評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡吱殉,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出厘托,到底是詐尸還是另有隱情友雳,我是刑警寧澤,帶...
    沈念sama閱讀 36,122評論 5 349
  • 正文 年R本政府宣布铅匹,位于F島的核電站押赊,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏包斑。R本人自食惡果不足惜流礁,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,801評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望罗丰。 院中可真熱鬧神帅,春花似錦、人聲如沸丸卷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,272評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽谜嫉。三九已至萎坷,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間沐兰,已是汗流浹背哆档。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留住闯,地道東北人瓜浸。 一個(gè)月前我還...
    沈念sama閱讀 48,808評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像比原,于是被迫代替她去往敵國和親插佛。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,440評論 2 359

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理量窘,服務(wù)發(fā)現(xiàn)雇寇,斷路器,智...
    卡卡羅2017閱讀 134,693評論 18 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法蚌铜,類相關(guān)的語法锨侯,內(nèi)部類的語法,繼承相關(guān)的語法冬殃,異常的語法囚痴,線程的語...
    子非魚_t_閱讀 31,660評論 18 399
  • //Clojure入門教程: Clojure – Functional Programming for the J...
    葡萄喃喃囈語閱讀 3,680評論 0 7
  • 史上最全的iOS面試題及答案 iOS面試小貼士———————————————回答好下面的足夠了----------...
    Style_偉閱讀 2,359評論 0 35
  • “哥們深滚,來兩圈麻將嘛,輸了算我的涣觉,不要怕~痴荐!”阿讓熱情地招呼我≈伎荩“不了蹬昌,我真的不會打...”我看看熱情的他,還有在...
    朝聆夕改閱讀 12,808評論 9 17