日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]Linus Torvalds兩次改變了技術(shù),第一次是Linux內(nèi)核,它幫助互聯(lián)網(wǎng)的發(fā)展;第二次是Git,全球開發(fā)者使用的源代碼管理系統(tǒng)。在一次TED的采訪中,Torvalds以極其開放的態(tài)度討論了他獨(dú)特的工作方式和性格特點(diǎn)。

 1.Linus Torvalds

Linus Torvalds對(duì)技術(shù)進(jìn)行了兩次更改,第一個(gè)是支持Internet的Linux內(nèi)核,第二個(gè)是Git,它是全世界開發(fā)人員使用的源代碼管理系統(tǒng)。 在接受TED采訪時(shí),Torvalds以開放的態(tài)度講述了他獨(dú)特的工作風(fēng)格和個(gè)性特征。 Torvalds說:“我不是夢(mèng)想家,我是工程師,我很高興與夢(mèng)想家在一起,他們仰望著天空說,”我想去那里。“但是我是那種腳踏實(shí)地的人,我只想填補(bǔ)我面前的空缺,不要讓自己失望,這就是我。”

2.關(guān)于開源

Linus Torvalds說:

Linux并不是一個(gè)合作的產(chǎn)物,它是我一系列項(xiàng)目中的一個(gè),純粹出于自己當(dāng)時(shí)的需要,部分原因是我需要得到結(jié)果,但更重要的原因是我享受編程。這段旅程的終點(diǎn),在25年后的今天(2016),我們?nèi)晕催_(dá)到。當(dāng)年我只是想做一個(gè)完全屬于自己的項(xiàng)目,我壓根就沒想過開源這件事。但在那之后,隨著項(xiàng)目越來越大, 你會(huì)開始想讓別人知道。感覺就像“哇,快來看看我的成果!”

成千上萬的人想?yún)⑴c進(jìn)來(Linux內(nèi)核項(xiàng)目),但很多時(shí)候,我成為了那個(gè)斷點(diǎn),我無法讓自己跨出那一步,同上千人合作。

因此Git是我的第二個(gè)大項(xiàng)目,它存在的意義就是維護(hù)我的第一個(gè)大項(xiàng)目。事實(shí)上這就是我的工作方式。我編程并不是為了…,我編程是因?yàn)楹猛?,但我也想做一些有意義的事情,因此我設(shè)計(jì)每一個(gè)程序僅僅是因?yàn)槲易约盒枰?/p>

而我喜歡開源軟件的一點(diǎn)就是,它能讓形形色色的人在一起合作。我們不必相互喜歡,有時(shí)候我們甚至互相討厭。是真的,我們經(jīng)常吵得不可開交。

科學(xué)界的開源顯然是一種回歸,科學(xué)最初是開源的。但之后變得越來越封閉,只存在那些昂貴的科學(xué)期刊上。開源讓科學(xué)回歸了,我們有了arXiv和開放期刊。

小編有話說:

Linux并不是選擇了開源,只是因?yàn)殚_源恰好是Linux需要的。就如Linus Torvalds所說:“純粹出于自己當(dāng)時(shí)的需要。”

Linus Torvalds是睿智的,做好自己能控制的。

開源不僅僅代表源代碼的開放,開源更是一種工作方式,一種教育方式。因?yàn)橛辛碎_源,我們多了一種更好的合作共贏的工作方式;因?yàn)橛辛碎_源,讓更多從業(yè)者和學(xué)生能夠?qū)W習(xí)到更好的技術(shù)。

3.代碼的品味

Linus Torvalds說:

有時(shí)候你可以換個(gè)角度看問題,重寫代碼,排除特例,完美覆蓋所有情況,這就是好的代碼。同時(shí)也很簡(jiǎn)單,這是最基本的原則。細(xì)節(jié)非常重要。對(duì)我來說,我愿意與之共事的人,必須有好的品位。

采訪中Linus Torvalds對(duì)比了以下2個(gè)函數(shù):

小編有話說:

大牛們總是對(duì)自己嚴(yán)格要求,不僅僅是要實(shí)現(xiàn)功能,并且要優(yōu)雅的實(shí)現(xiàn)。下面我們來看看采訪中Linus Torvalds對(duì)比的兩段代碼:

1.不怎么漂亮的代碼

上面的代碼,需要區(qū)分要移除的成員是否為鏈表的頭一個(gè)成員。需要單獨(dú)處理特例情況(要移除的成員為鏈表的頭一個(gè)成員)。這個(gè)函數(shù)比較好理解,這里小編就不做更多的解釋了,如有疑問,請(qǐng)?zhí)砑有【幬⑿沤涣鳌?/p>

2. 好的代碼

該代碼不需要處理特殊情況,而且程序整體更加有序、優(yōu)雅。其實(shí)現(xiàn)原理為:指針變量indirect保存的是鏈表成員結(jié)構(gòu)體中的next成員的地址(head指針也可這樣看),如下圖所示:

所以變量*indirect就相當(dāng)于是前一個(gè)鏈表成員的next成員(相對(duì)于要移除的成員來說)。當(dāng)找到要移除的成員后,進(jìn)行如下操作即可:

*indirect = entry->next;

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉