日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

系统程序员成长计划-走近专业程序员

發(fā)布時(shí)間:2023/12/18 windows 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 系统程序员成长计划-走近专业程序员 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

轉(zhuǎn)載時(shí)請(qǐng)注明出處和作者聯(lián)系方式
文章出處:http://www.limodev.cn/blog
作者聯(lián)系方式:李先靜 <xianjimli at hotmail dot com>

需求簡(jiǎn)述

用C語言編寫一個(gè)雙向鏈表。如果你有一定的C語言編程經(jīng)驗(yàn),這自然是小菜一碟。有的讀者可能連一個(gè)小程序都沒有寫過,那也不用害怕,可以參考任何一本《數(shù)據(jù)結(jié)構(gòu)》和C語言的書籍。先弄明白基本概念,把書上的代碼看明白,再把代碼抄到電腦里,保證編譯過去,調(diào)試它到正常運(yùn)行。反復(fù)這個(gè)過程,直到你能獨(dú)立完成它為止。寫第一行代碼是很痛苦的,我培訓(xùn)過好幾個(gè)同事,他們不是計(jì)算機(jī)系畢業(yè)的,開始在電腦前坐一整天,一行代碼都敲不出來,我最早寫程序時(shí)的情況也好不了多少,不過沒有關(guān)系,邁出這一步就好了。

花1-3天時(shí)間,完成這個(gè)任務(wù)后,再繼續(xù)往下閱讀。

轉(zhuǎn)載時(shí)請(qǐng)注明出處和作者聯(lián)系方式
文章出處:http://www.limodev.cn/blog
作者聯(lián)系方式:李先靜 <xianjimli at hotmail dot com>

當(dāng)你讀到這里的時(shí)候,相信你已經(jīng)獨(dú)立寫出了一個(gè)雙向鏈表。恭喜你!邁出這一步可是值得慶祝的,現(xiàn)在你已經(jīng)走在通往程序員的光明大道上了。不過你還是個(gè)業(yè)余程序員,那當(dāng)然了,你才寫出第一個(gè)程序呢!什么時(shí)候才能成為一個(gè)專業(yè)程序員呢?三年還是五年工作經(jīng)驗(yàn)?其實(shí)不用的,你馬上就可以了,我沒有騙你,因?yàn)閷I(yè)程序員與業(yè)余程序員之分主要在于一種態(tài)度,如果缺乏這種態(tài)度,擁有十年工作經(jīng)驗(yàn)也還是業(yè)余的。

什么態(tài)度?專業(yè)態(tài)度!也就是星爺常說的專業(yè)精神。專業(yè)態(tài)度有多種表現(xiàn)形式,以后我們會(huì)一一介紹的。這里先介紹一下有關(guān)形象的態(tài)度,專業(yè)的程序員是很注重自己的形象的,當(dāng)然程序員的形象不是表現(xiàn)在衣著和言談上,而是表現(xiàn)在代碼風(fēng)格上,代碼就是程序員的社交工具,代碼風(fēng)格可是攸關(guān)形象的大事。

有人說過,傻瓜都可以寫出機(jī)器能讀懂的代碼,但只有專業(yè)程序員才能寫出人能讀懂的代碼。作為專業(yè)程序員,每當(dāng)寫下一行代碼時(shí),要記得程序首先是給人讀的,其次才是給機(jī)器讀的。你要從一個(gè)業(yè)余程序員轉(zhuǎn)向?qū)I(yè)程序員,就要先從代碼風(fēng)格開始,并從此養(yǎng)成一種嚴(yán)謹(jǐn)?shù)墓ぷ鲬B(tài)度,生活上的不拘小節(jié)可不能帶到編程中來。

代碼風(fēng)格有很多種,Windows 和Linux都有自己主流的代碼風(fēng)格,每個(gè)團(tuán)隊(duì),每個(gè)公司也可能有自己的代碼風(fēng)格,爭(zhēng)論哪種風(fēng)格好那種風(fēng)格壞沒有什么意義。只要有助于其他程序員理解的代碼風(fēng)格都是可以接受的,因?yàn)樽裱囟ùa風(fēng)格的目的就是為了便于交流。

這里介紹一下作者本人喜歡的代碼風(fēng)格,這種代碼風(fēng)格也在作者所在團(tuán)隊(duì)中使用。這里的命名風(fēng)格與GTK+代碼相近,排版風(fēng)格Linux內(nèi)核代碼相近。

命名要展示對(duì)象的功能。

文件名:單詞小寫,多個(gè)單詞用下劃線分隔。
如: dlist.c (這里d代表double,是通用的縮寫方法)

注意:文件名一定要能傳達(dá)文件的內(nèi)容信息,別人一看到文件名就是知道文件中放的是什么內(nèi)容。只把一個(gè)類或者一類的代碼放在一起是好的習(xí)慣,這樣就很容易給文件取一個(gè)直觀的名字。業(yè)余愛好者常常把很多沒關(guān)系的代碼糅到一個(gè)文件中,結(jié)果造成代碼雜亂無章,也很難給它取一個(gè)恰當(dāng)?shù)拿帧?/span>

函數(shù)名:單詞小寫,多個(gè)單詞用下劃線分隔。
如:find_node

注意:同樣,一個(gè)函數(shù)只完成單一功能,不要用代碼的長度來衡量是不是要把一段代碼獨(dú)立成一個(gè)函數(shù)。即使只有幾行代碼,只要它完成的是一項(xiàng)獨(dú)立的功能,都應(yīng)該提為一個(gè)單獨(dú)的函數(shù),而函數(shù)名可以直觀的反應(yīng)出它的功能。如果在給函數(shù)起名時(shí)遇到了困難,通常是函數(shù)設(shè)計(jì)不合理,應(yīng)該仔細(xì)思考一下。

結(jié)構(gòu)/枚舉/聯(lián)合名:首字母大寫,多個(gè)單詞連寫。
如:struct _DListNode;

宏名:單詞大寫,多個(gè)單詞下劃線分隔
如:#define MAX_PATH 260

變量名:單詞小寫,多個(gè)單詞下劃線分隔。
如:DListNode* node = NULL;

面向?qū)ο蟮拿绞?

1.以對(duì)象為中心,采用主語(對(duì)象)+謂語(動(dòng)作),取代傳統(tǒng)的謂語(動(dòng)作)+賓語(目標(biāo))。
如:dlist_append

2.第一個(gè)參數(shù)為對(duì)象,并用thiz命名。
如:dlist_append(DList* thiz, void* value);

3.對(duì)象有自己的生命周期,都有create和destroy函數(shù)。

排版布局要美觀大方。

合理使用空行:

1.函數(shù)體之間用空行分隔。

2.結(jié)構(gòu)/聯(lián)合/枚舉聲明空行分隔。

3.不同功能的代碼塊之間用空行分隔。

4.類似的代碼放在一起,和其它部分用空行分隔。比如宏定義,類型定義,函數(shù)聲明和全局變量放在一起。

5.使用空行時(shí),一行就夠了,不要使用連續(xù)多個(gè)空行,那樣讓人感覺空蕩蕩。

合理使用空格:

1.等號(hào)兩邊用空格。如:
如:int a = 100;

2.參數(shù)之間用空格。如:
如:test(int a, int b, int c)

3.語句末的分號(hào)與前面內(nèi)容不要加空格。
如:test(a, b, c);

4.其它有助讓代碼更美觀的地方。

合理使用括號(hào):

1.用括號(hào)分隔子表達(dá)式,不要只靠默認(rèn)優(yōu)先級(jí)來判斷。
如:((a && b) || (c && d))

2.用括號(hào)分隔if/while/for等語句的代碼塊,那怕代碼只有一行。
如:

if(a > b) {return c; }

合理的縮進(jìn)方式:

每一級(jí)都正常縮進(jìn),用tab縮進(jìn)取代空格縮進(jìn)(Linuxkernel也遵循此規(guī)則)。用空格縮進(jìn)的目的是防止代碼因編輯器的tab寬度不同而變亂,這個(gè)擔(dān)心現(xiàn)在是多余的了,代碼編輯器都支持tab寬度設(shè)置了。如果縮進(jìn)的居次太多(比如超過三層),可能是代碼設(shè)計(jì)上出了問題。

如:

if(a > b) {for(i = 0; i < 100; i++){…} }

遵從團(tuán)隊(duì)的習(xí)慣。這個(gè)是最重要的,一個(gè)團(tuán)隊(duì)就要像一個(gè)團(tuán)隊(duì)的樣子,不管你的水平有多高,遵循團(tuán)隊(duì)的規(guī)則是一個(gè)程序員的基本素養(yǎng)。如果團(tuán)隊(duì)的規(guī)則確實(shí)不好,大家應(yīng)該一起完善它。

做到這一點(diǎn),你已經(jīng)走近專業(yè)程序員了,重新做一遍練習(xí)吧。隨著后面的學(xué)習(xí),你就可以真正走進(jìn)專業(yè)程序員這個(gè)行列了。


總結(jié)

以上是生活随笔為你收集整理的系统程序员成长计划-走近专业程序员的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。