程序員修煉之道

Care About Your Craft. 關(guān)心你的技藝

Think!About Your Work. 思考!你的工作


1.A Pragmatic Philosophy 注重實(shí)效的哲學(xué)

Provide Options,Don't Make Lame Excuses. 提供各種選擇,不要找撇腳的借口

Don't Live with Broken Windows. 不要容忍破窗戶

Be a Catalyst for Change. 做變化的催化劑

Remember the Big Picture. 記住大圖景

Make Quality a Requirements Issue. 使質(zhì)量成為需求問(wèn)題

Invest Reqularly in Your KnowLedge Portfolio. 定期為你的知識(shí)資產(chǎn)投資

Critically Analyze What You Read and Hear. 批判地分析你讀到的和聽(tīng)到的

It's Both What You Say and the Way You Say It. 你說(shuō)什么和你怎么說(shuō)同樣重要


2.A Pragmatic Approach 注重實(shí)效的途徑

DRY - Don't Repeat Yourself. 不要重復(fù)你自己

Make It Easy to Reuse. 讓復(fù)用變得容易

Eliminate Effects Between Unrelated Things. 消除無(wú)關(guān)事物之間的影響

There Are No Final Decisions. 不存在最終決策

Use Tracer Bullets to Find the Target. 用曳光彈找到目標(biāo)

Prototype to Learn. 為了學(xué)習(xí)而制作原型

Program Close to the Problem domain. 靠近問(wèn)題領(lǐng)域編程

Estimate to Avoid Surprises. 估算,以避免發(fā)生意外

Iterate the Schedule with the Code. 通過(guò)代碼對(duì)進(jìn)度表進(jìn)行迭代


3.The Basic Tools 基本工具

Keep Knowledge in Plain Text. 用純文本保存知識(shí)

Use the Power of Command Shells. 利用命令shell的力量

Use a Single Editor Well. 用好一種編輯器

Always Use Source Code Control. 總是使用源碼控制

Fix the Problem, Not the Blame. 要修正問(wèn)題,而不是發(fā)出職責(zé)

Don't Panic. 不用恐慌

"Select" Isn't Broken. “Select”沒(méi)有問(wèn)題

Don't Assume it - Prove it. 不要假定,要證明

Learn a Text Manipulation Language. ?學(xué)習(xí)一種文本操縱語(yǔ)言

Write Code That Writes Code. 編寫(xiě)能編寫(xiě)代碼的代碼


4.Pragmatic Paranoia 注重實(shí)效的偏執(zhí)

You Can't Write Perfect Software. 你不可能寫(xiě)出完美的軟件

Design with Contracts. 通過(guò)合約進(jìn)行設(shè)計(jì)

Crash Early. 早崩潰

If It Can't Happen, Use Assertions to Ensure That It Won't. 如果它不可能發(fā)生,用斷言確保它不會(huì)發(fā)生

Use Exceptions for Exceptional Problems. 將異常用于異常的問(wèn)題

Finish What You Start. 要有始有終


5.Bend,or Break 彎曲,或折斷

Minimize Coupling Between Modules. 使模塊之間的耦合減至最少

Configure,Don't Integrate. 要配置,不要集成

Put Abstractions in Code, Details in Metadata. 將抽象放進(jìn)代碼,細(xì)節(jié)放進(jìn)元數(shù)據(jù)

Analyze Workflow to Improve Concurrency. 分析工作流,以改善并發(fā)性

Design Using Services. 用服務(wù)進(jìn)行設(shè)計(jì)

Always Design for Concurrency. 總是為并發(fā)進(jìn)行設(shè)計(jì)

Separate Views from Models. 使視圖與模型分離

Use Blackboards to Coordinate Workflow. 用黑板協(xié)調(diào)工作流


6.While You Are Coding 當(dāng)你編碼時(shí)

Don't Program by Coincidence. 不要靠巧合編程

Estimate the Order of Your Algorithms. 估算你的算法的階

Test Your Estimates. 測(cè)試你的估算

Refactor Early,Refactor Often. 早重構(gòu),常重構(gòu)

Design to Test. 為測(cè)試而設(shè)計(jì)

Test Your Software,or Your Users Will. 測(cè)試你的軟件,否則你的用戶就得測(cè)試

Don't Use Wizard Code You Don't Understand. 不要使用你不理解的向?qū)Тa


7.Before The Project 在項(xiàng)目開(kāi)始之前

Don't Gather Requirements - Dig for Them. 不要搜集需求——挖掘他們

Work with a User to Think Like a User. 與用戶一同工作,以像用戶一樣思考

Abstractions Live Longer than Details. 抽象比細(xì)節(jié)活得更長(zhǎng)久

Use a Project Glossary. 使用項(xiàng)目詞匯表

Don't Think Outside the Box - Find the Box. 不要在盒子外面思考——要找到盒子

Listen to Nagging Doubts - Start When You're Ready. 傾聽(tīng)反復(fù)出現(xiàn)的疑慮——等你準(zhǔn)備好再開(kāi)始

Some Things Are Better Done than Described. 對(duì)有些事情“做”勝于“描述”

Don't Be a Slave to Formal Methods. 不要做形式方法的奴隸

Expensive Tools Do Not Produce Better Designs. 昂貴的工具不一定能制作出更好的設(shè)計(jì)


8.Pragmatic Projects 注重實(shí)效的項(xiàng)目

Organize Around Functionality, Not Job Functions. 圍繞功能,而不是工作職務(wù)進(jìn)行組織

Don't Use Manual Procedures. 不要使用手工流程

Test Early.Test Often.Test AutoMatically. 早測(cè)試,常測(cè)試,自動(dòng)測(cè)試

Coding Ain't Done Til All the Tests Run. 要到通過(guò)全部測(cè)試,編碼才算完成

Use Saboteurs to Test Your Testing. 通過(guò)“蓄意破壞”測(cè)試你的測(cè)試

Test State Coverage,Not Code Coverage. 測(cè)試狀態(tài)覆蓋,而不是代碼覆蓋

Find Bugs Once. 一個(gè)bug只抓一次

Treat English as Just Another Programming Language. 把英語(yǔ)當(dāng)作又一種編程語(yǔ)言

Build Documentation In, Don't Bolt It On. 把文檔建在里面,不要拴在外面

Gently Exceed Your Users' Expectations. 溫和地超出用戶的期望

Sign Your Work. 在你的作品上簽名

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容