国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
如何寫(xiě)出極致的代碼?替你保管錢(qián)的支付寶程序員有話說(shuō)

“雙十一”前夕,支付寶BASIC College舉辦了一場(chǎng)名為“超級(jí)Ma力大賽”的活動(dòng)。這是一場(chǎng)只用代碼說(shuō)話的競(jìng)賽,共有數(shù)千名支付寶的工程師參加,程序員和程序媛們通過(guò)寫(xiě)代碼、曬代碼,展現(xiàn)出對(duì)極致代碼的孜孜追求,并以此描摹出支付寶最強(qiáng)Coder的畫(huà)像——匠心、極致、傳承、創(chuàng)新。

我們采訪了分別獲得卓越代碼獎(jiǎng)、優(yōu)秀代碼獎(jiǎng)、最強(qiáng)CodeMan的三位支付寶程序員,聊聊在他們心中,什么是好代碼,怎樣才算是卓越的程序員。

優(yōu)秀的代碼有共性

一千個(gè)讀者有一千個(gè)哈姆雷特,一千個(gè)程序員也有一千種代碼寫(xiě)作方式,但好的代碼一定是有其共性所在的,三位程序員也都給出了自己的看法。

“優(yōu)秀的代碼,在我看來(lái)就是可以跑、可以讀、可以被欣賞?!边@是優(yōu)秀代碼獎(jiǎng)得主入棧同學(xué)非常體系化的概括。

· “可以跑”是對(duì)機(jī)器來(lái)說(shuō)的,寫(xiě)代碼最基本的目的就是告訴計(jì)算機(jī)怎么干活,所以代碼首先要寫(xiě)對(duì)。我們常常說(shuō)的并發(fā)問(wèn)題、安全問(wèn)題、異常處理缺失問(wèn)題等等,都是“可以跑”這個(gè)要求上面出了問(wèn)題。

· 第二個(gè)“可以讀”是對(duì)人來(lái)說(shuō)的,畢竟代碼閱讀的次數(shù)要遠(yuǎn)遠(yuǎn)超過(guò)編寫(xiě)的次數(shù)。一份可以讀的代碼,即使在性能、擴(kuò)展性上存在缺陷,還是能通過(guò)較好的可讀性,被他人理解,進(jìn)而解決這些問(wèn)題。相反,有些代碼雖然精妙、高效,但是看不懂,受眾小,不好擴(kuò)展,就容易被歷史所拋棄。

· 第三個(gè)是“可以被欣賞”。前兩個(gè)標(biāo)準(zhǔn),評(píng)判角度在于功用性,“可以被欣賞”則是從藝術(shù)性的角度。就像照片的本意是為了記錄,但也可以被做成藝術(shù)品,代碼也一樣。優(yōu)秀的代碼讀起來(lái),主次分明、層次清晰、賞心悅目,就和看小說(shuō)一樣,能看到代碼作者背后對(duì)領(lǐng)域問(wèn)題求解的思考,看到對(duì)風(fēng)險(xiǎn)的重視,看到精雕細(xì)琢的痕跡。

而在卓越代碼獎(jiǎng)獲得者櫻桃同學(xué)看來(lái),如果只能用三個(gè)詞來(lái)概括優(yōu)秀的代碼,首先應(yīng)該是正確,其次是可讀,最后才是性能。

正確一定是排在最優(yōu)先的位置,因?yàn)椴徽_的代碼達(dá)不成功能最后毫無(wú)意義。代碼首先是給人讀的,然后才是給機(jī)器讀的,可讀性對(duì)保證他人理解、項(xiàng)目的長(zhǎng)期維護(hù)性上影響最大,而且可讀的代碼通常會(huì)是簡(jiǎn)潔、優(yōu)雅的。最后才是性能,性能跟業(yè)務(wù)是伴生關(guān)系,前期代碼性能相對(duì)來(lái)說(shuō)不會(huì)太重要。

摘得最強(qiáng)CoderMan稱(chēng)號(hào)的連明同學(xué)給出的概括則是“可讀性、高穩(wěn)定性和優(yōu)雅性”。除了入棧和櫻桃都提到的可讀和優(yōu)雅以外,連明補(bǔ)充了一個(gè)高穩(wěn)定性的特點(diǎn)。

在他看來(lái),穩(wěn)定性是相對(duì)難得的一個(gè)代碼特性,因?yàn)槌藢?shí)現(xiàn)功能以外,穩(wěn)定性還意味著在技術(shù)風(fēng)險(xiǎn)方面的考慮,以及當(dāng)下的穩(wěn)定性和未來(lái)業(yè)務(wù)迅猛擴(kuò)展時(shí)能否保持穩(wěn)定性的考慮。

代碼可讀、正確、穩(wěn)定、簡(jiǎn)潔優(yōu)雅,這是支付寶程序員們對(duì)優(yōu)秀代碼所下的定義。

師兄領(lǐng)進(jìn)門(mén),修行在個(gè)人


工程師文化意味著什么?也許“Open”和“Share”兩個(gè)詞可以略作解釋。支付寶BASIC College一直有一個(gè)“師兄文化”,許多技術(shù)同學(xué)的第一本“入門(mén)教程” 就是師兄的代碼,在師兄的傳幫帶之下,支付寶的技術(shù)同學(xué)不斷提升著自己的技術(shù)實(shí)力。

入棧直到今天仍對(duì)自己的師兄功玉有著深刻的印象:

我現(xiàn)在寫(xiě)代碼的嚴(yán)謹(jǐn)態(tài)度,有很大一部分就是當(dāng)年師兄帶我時(shí)培養(yǎng)起來(lái)的。我記得,有一次我們和組內(nèi)其他一些同學(xué)討論,在做vo、bo、do的轉(zhuǎn)換時(shí),是使用Apache Beanutils好,還是直接手寫(xiě)getter、setter更好,一塊白板討論了半個(gè)下午,性能、缺陷、給后人留坑等各種問(wèn)題都考慮到了,最后的結(jié)論是直接手寫(xiě)會(huì)更好。這與后來(lái)集團(tuán)推出的《阿里巴巴Java開(kāi)發(fā)手冊(cè)》不謀而合。

類(lèi)似的故事也在連明身上發(fā)生過(guò)。初入行的連明第一次開(kāi)發(fā)第一個(gè)迭代版本,完成后給師兄Review,師兄只提了兩點(diǎn):寫(xiě)代碼前有沒(méi)有裝支付寶的代碼格式化插件工具;單測(cè)、代碼安全掃描有沒(méi)有打開(kāi)。然后連明就懵了,后來(lái)他才明白,前者代表的是代碼格式、規(guī)約,這些對(duì)于生產(chǎn)而言很重要。后者更容易被技術(shù)同學(xué)所忽視,魔鬼存在于細(xì)節(jié)中,如果連這些都做不好,師兄也沒(méi)有繼續(xù)做Review的必要。

櫻桃所在的團(tuán)隊(duì)是一個(gè)新組建的團(tuán)隊(duì),他雖然沒(méi)有經(jīng)歷過(guò)師兄的傳幫帶,但對(duì)此也有自己的一番理解。

國(guó)內(nèi)計(jì)算機(jī)專(zhuān)業(yè)存在一個(gè)很大的缺失,就是沒(méi)有培養(yǎng)出大公司所需的、開(kāi)發(fā)能力符合要求的程序員。大公司需要很多能夠?qū)懗黾軜?gòu)合理、實(shí)現(xiàn)健壯、代碼可讀的人才,代碼比賽也好、師兄文化也好,都是在填補(bǔ)一個(gè)鴻溝,從大學(xué)到公司之間做一個(gè)引導(dǎo),工程師要有扎實(shí)的基本功,才能聚集在一起做大規(guī)模的軟件工程。

支付寶的師兄給技術(shù)同學(xué)上了入行的第一課,播種下了匠心與傳承的種子,一代又一代支付寶技術(shù)人努力地在各自的崗位上持續(xù)追求著極致與創(chuàng)新,這就是支付寶的Code文化。

狂奔在追求卓越的代碼路上


櫻桃是清華畢業(yè)的博士,“我開(kāi)始寫(xiě)生產(chǎn)線上的代碼也就半年多時(shí)間”他說(shuō)。

參加這次超級(jí)Ma力大賽以后,他覺(jué)得對(duì)于自己的代碼價(jià)值觀有了很好的引導(dǎo)作用。作為一個(gè)既是一線開(kāi)發(fā)者又是半個(gè)Manager的技術(shù)人,他眼里的優(yōu)秀的程序員形象必須具備獨(dú)立思考能力,能夠獨(dú)立解決一個(gè)問(wèn)題,可以完美Cover從需求分析、設(shè)計(jì)到落地的全過(guò)程。

入行三年多的連明,這次獲得了“最強(qiáng)CoderMan”殊榮,但他表示,自己不敢說(shuō)最強(qiáng),但是有朝著最強(qiáng)前進(jìn)的追求。在他看來(lái),支付寶優(yōu)秀的程序員都有一些共性:

· 匠心。一個(gè)好的程序員就是一個(gè)好的工匠,不管是工作還是交流,都精益求精,永不滿足,具備耐心和專(zhuān)業(yè)的態(tài)度。

· 傳承。好的程序員應(yīng)該是一個(gè)Master,不僅自己很強(qiáng),而且可以帶動(dòng)他人。

· 創(chuàng)新。很少人能真正做到創(chuàng)新,連明也希望自己能夠用一個(gè)創(chuàng)新的想法和思路解決支付寶業(yè)務(wù)上的痛點(diǎn),讓技術(shù)驅(qū)動(dòng)業(yè)務(wù)增長(zhǎng)。

但他認(rèn)為,態(tài)度是首要的,沒(méi)有態(tài)度支撐,這一切將毫無(wú)意義。

入棧總結(jié)了三種優(yōu)秀程序員的類(lèi)型:一類(lèi)是實(shí)現(xiàn)型,實(shí)現(xiàn)功能既快又好;一類(lèi)是架構(gòu)型,拿到需求能快速抓住核心,提出解決方案;一類(lèi)是創(chuàng)造型,能夠發(fā)現(xiàn)問(wèn)題,提出創(chuàng)新的策略、算法以解決現(xiàn)存問(wèn)題。“我目前還是努力成為一個(gè)架構(gòu)型程序員”,謙虛的他這么說(shuō)。

提到怎么時(shí)刻保持自己的技術(shù)實(shí)力不斷提升時(shí),三位也分別給出了自己的看法:

· 櫻桃表示自己大學(xué)時(shí)缺失的是對(duì)軟件工程能力的培養(yǎng),通過(guò)自學(xué)讀了兩本好書(shū)學(xué)會(huì)了如何寫(xiě)可讀代碼、如何去設(shè)計(jì)軟件。

· 入棧則會(huì)在廣度和深度上下功夫。廣度上時(shí)刻關(guān)注領(lǐng)域技術(shù)文章,碎片時(shí)間看看Hacker News、Reddit的programming頻道;深度上參與大型項(xiàng)目與牛x的10倍程序員一起共事,學(xué)習(xí)、提升自己,他提到,在財(cái)富技術(shù)部這個(gè)平臺(tái),他參與了一系列大型項(xiàng)目,接觸了很多大牛,感到十分幸運(yùn)。

· 連明很感謝金融核心平臺(tái)部這個(gè)平臺(tái),讓他有機(jī)會(huì)一進(jìn)來(lái)就負(fù)責(zé)比較核心的系統(tǒng),從了解一個(gè)系統(tǒng),到了解其承載的業(yè)務(wù),再到整條線的系統(tǒng)、架構(gòu),讓他學(xué)到了很多東西。

其實(shí)對(duì)于支付寶技術(shù)人而言,初心就是做到代碼的匠心、極致、傳承和卓越,通過(guò)技術(shù)實(shí)力來(lái)回饋業(yè)務(wù),保證業(yè)務(wù)的穩(wěn)定與增長(zhǎng)。

敬畏每一行代碼,時(shí)刻為之保持思考,支付寶的技術(shù)同學(xué)們狂奔在追求卓越代碼的路上。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
全球10億人的資產(chǎn)衛(wèi)士,是個(gè)溫柔文藝咖
怎樣許愿,實(shí)現(xiàn)愿望的幾率會(huì)更大!
c++基礎(chǔ)6:堆和棧 內(nèi)存泄漏 棧溢出
(156)堆和棧的區(qū)別
讓我來(lái)告訴你,身為程序員寫(xiě)一百萬(wàn)行代碼的感覺(jué)
人際交往能力遠(yuǎn)比你想象的重要
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服