成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

程序員必須養(yǎng)成良好的代碼習(xí)慣

開(kāi)發(fā) 開(kāi)發(fā)工具
本文作者在經(jīng)歷很長(zhǎng)時(shí)間的開(kāi)發(fā)后,感嘆程序員必須養(yǎng)成良好的代碼習(xí)慣,希望本文能對(duì)大家有所幫助。

養(yǎng)成良好的代碼習(xí)慣,就是將代碼寫的漂亮,執(zhí)行效率也自然就得到了提升。軟件開(kāi)發(fā)中包含太多東西了,需求的、設(shè)計(jì)的、測(cè)試的、管理的、文化的、心里的、溝通的,需要大家自己去琢磨。

前天在AgileChina2009上聽(tīng)了Fred George的演講,他說(shuō)他以前拿自己的代碼給Kent Beck看,結(jié)果Kent說(shuō)這代碼很垃圾,你去看看我寫的Smalltalk best practice patterns吧。然后Fred George就看了這本書并且完全按照書上的要求去做,5年后當(dāng)他再給Kent看自己的代碼時(shí),Kent說(shuō)很漂亮的代碼。

考慮到Fred比Kent要老,可以看出Fred是非常虛心的,聽(tīng)了Kent的評(píng)價(jià)不僅沒(méi)有生氣,而且還完全聽(tīng)從了建議。當(dāng)然這也可能是Kent太出名的緣故,若是我說(shuō)他的代碼不好,或許他就不會(huì)這樣做了。

這讓我聯(lián)想到有一次和8x一起面試,8x的手工重構(gòu)讓我很是驚訝。雖然我也看過(guò)《重構(gòu)》,雖然我平時(shí)也重構(gòu),但是不論從步伐還是安全性上,都相差深遠(yuǎn)。我讀《重構(gòu)》的時(shí)候?qū)θ绱诵〔椒サ母淖兪遣惶澩?,因?yàn)樾时容^低。我認(rèn)為書中之所以把條目分的很詳細(xì),每個(gè)條目的步驟很小很謹(jǐn)慎,完全是為了可以讓支持重構(gòu)的工具得以實(shí)現(xiàn),對(duì)于人來(lái)說(shuō),保持這樣小的步驟太難了,不管是從記憶還是從操作的角度來(lái)看。然而8x的表現(xiàn)讓我改變了看法,不僅速度并不慢,而且安全性非常的高。回想起我的重構(gòu)經(jīng)常出現(xiàn)改錯(cuò)以后沒(méi)法返回的問(wèn)題,不禁感嘆--差距啊。

經(jīng)常在國(guó)內(nèi)的論壇上看到各種討論設(shè)計(jì)、架構(gòu)的帖子,然而每每show代碼的時(shí)候卻發(fā)現(xiàn)一塌糊涂。當(dāng)然他們自己不覺(jué)得,可是我覺(jué)得很不好。最近 Kent Beck和Robert C.Martin出的兩本書《Implementation Patterns》和《Clean Code》都是討論一些很細(xì)節(jié)的東西的,如何命名、方法應(yīng)該要多長(zhǎng)、注釋怎么寫、格式怎么排等等,這些東西早在《The Element of Programming Style》中其實(shí)都有對(duì)應(yīng)的東西,只不過(guò)語(yǔ)言不同了,細(xì)節(jié)方面也不同。然而為何這么多年來(lái),一直有人不停的寫本質(zhì)上相同的東西呢?我覺(jué)得還是大家不重視,沒(méi)有養(yǎng)成良好的習(xí)慣,自然就需要有人去寫這些東西,反反復(fù)復(fù)的提醒大家。

這里再一次很慚愧的說(shuō),我沒(méi)有好好去讀,也沒(méi)有按照書中的東西認(rèn)真去做,總是以為大概了解個(gè)概念,知道怎么回事,然后差不多做到了就行了。然而現(xiàn)在想來(lái),卻完全不是那么回事。記得XP中有很多非?!皹O限”的要求,都是“一定”要如何如何,可實(shí)際上很多人都不以為然,認(rèn)為太過(guò)激進(jìn),實(shí)際操作不現(xiàn)實(shí)或者不必要,因此在實(shí)施的時(shí)候,做了一些妥協(xié)和變通,***失敗了還說(shuō)XP不好。當(dāng)然XP不可能是包治百病的靈丹,在某些情況下確實(shí)也不應(yīng)該用它,但是很多人明明可以從中獲益,卻因?yàn)闆](méi)有領(lǐng)悟到其中的精髓而早早放棄。

比如說(shuō)TDD,看起來(lái)與一般的單元測(cè)試的不同只是把寫測(cè)試的工作放在了寫代碼之前,而Pair Programming也不過(guò)就是兩個(gè)人坐在一起寫程序罷了。然而在實(shí)際應(yīng)用中,卻會(huì)發(fā)現(xiàn)TDD并不是那么簡(jiǎn)單,它帶來(lái)的好處是你在使用之前完全想不到的,甚至很多都和Test是無(wú)關(guān)的。而Pair也不簡(jiǎn)單的就是兩個(gè)人干一份工,如何根據(jù)技能的不同組合Pair,兩人如何分工都有很大的講究,甚至一般的對(duì)于Pair目的的理解可能也是錯(cuò)誤的。因此要想證明一件東西能不能起作用,首先要完全按照他要求的方式去做,等到你真的把該遇到的問(wèn)題都遇到了,你才能真正知道它是什么,能做什么,不能做什么,***才知道它到底能解決什么問(wèn)題,不能解決什么問(wèn)題。

在說(shuō)回到代碼習(xí)慣的問(wèn)題,軟件開(kāi)發(fā)中包含太多東西了,需求的、設(shè)計(jì)的、測(cè)試的、管理的、文化的、心里的、溝通的……要想掌握這么多東西是很大的挑戰(zhàn)。如何將一件事記住而不忘掉,***的辦法就是將之變成習(xí)慣,就像呼吸一樣自然,不需要刻意去想就能做到。良好的代碼習(xí)慣是一個(gè)開(kāi)發(fā)人員最基本的技能,使之成為習(xí)慣,會(huì)獲益很多。

決定在看一遍《重構(gòu)》和《實(shí)現(xiàn)模式》并完全按照其中的要求去做,爭(zhēng)取也能在5年之內(nèi)將之養(yǎng)成習(xí)慣。

原文標(biāo)題:代碼習(xí)慣

鏈接:http://www.cnblogs.com/wangyh/archive/2009/09/15/clean-code.html

【編輯推薦】

  1. 深入淺出.NET接口:阿貓阿狗和程序員
  2. 程序員如何選擇入門編程語(yǔ)言?
  3. 程序員最常犯的五大非技術(shù)性錯(cuò)誤
  4. Java程序員的知識(shí)架構(gòu)淺析
  5. 專家級(jí)程序員的“飼養(yǎng)”心得
責(zé)任編輯:彭凡 來(lái)源: 博客園
相關(guān)推薦

2022-04-08 14:38:43

程序員習(xí)慣終端

2009-02-23 13:00:17

程序員職業(yè)習(xí)慣

2009-04-23 14:21:29

UML序列圖繪制

2012-12-04 10:08:25

程序員

2020-03-29 08:19:56

程序員代碼

2011-05-30 14:50:56

程序員

2009-07-03 16:07:58

2012-05-22 00:16:47

2021-05-29 07:32:14

優(yōu)秀程序員代碼

2011-04-13 10:16:41

編程習(xí)慣

2021-11-01 22:39:14

程序員專業(yè)技術(shù)

2010-06-11 14:35:18

UML序列圖

2011-04-19 10:20:09

數(shù)據(jù)庫(kù)

2009-06-29 08:48:39

Linux編碼

2019-11-28 18:51:07

PythonPHP編程語(yǔ)言

2015-11-23 09:27:39

程序員不良編程習(xí)慣

2013-07-11 17:18:17

程序員習(xí)慣

2010-06-17 18:31:12

繪制UML序列圖

2019-04-16 14:03:47

編程程序員代碼

2011-07-15 15:10:37

PHP
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 欧美 日韩 综合 | 天天色影视综合 | 国产成人免费视频 | 精品一区在线看 | 拍拍无遮挡人做人爱视频免费观看 | 亚洲欧美在线观看视频 | 国产精品一区二区三 | 成人av片在线观看 | 天天插天天操 | 亚洲精品久久久久久一区二区 | 日韩三级精品 | 人人鲁人人莫人人爱精品 | 毛片a区 | 国产亚洲欧美日韩精品一区二区三区 | 亚洲欧洲成人在线 | 免费国产一区二区 | 久久成人国产精品 | 中日字幕大片在线播放 | 久久伊人操 | 97人人草 | 久久激情网 | 日韩欧美在线观看 | 亚洲av毛片| 国产91久久久久蜜臀青青天草二 | 久久综合久久综合久久综合 | 午夜精品一区二区三区在线观看 | 久久久久电影 | 国产精品黄视频 | 久久涩涩| 日本成人片在线观看 | 91资源在线 | 中文字幕国产 | 国产精品成人在线观看 | 色婷婷久久综合 | 欧美一区二区三区视频 | 一区二区国产精品 | 精品国产精品国产偷麻豆 | 国产免费一区二区 | 久久网一区二区 | 中文字幕 在线观看 | 欧美成人精品激情在线观看 |