1. 程式人生 > >程序員修煉之道 Tips

程序員修煉之道 Tips

tool con window 興趣 list func clas produce exc

Tip 1:

Care About Your Craft

關心你的技藝

我其實一直沒有想明白這句話是什麽意思. 我的理解是, 我們現在所學所掌握的技藝最後可能是要過時的, 要時刻關心最新的技術並嘗試去學習. 不過雖然這麽說, 但是如何做就是見仁見智了, 我在最近可能看了看 shell 編程, 學了學 Node.js, 還看了兩眼 Golang, 最終我真正吸收的還是 Node.js, 對於 shell 和 Golang 看的我實在提不起興趣. 不過我也沒有強求, 畢竟不是靠這個吃飯的, 而且自己也沒有什麽興趣, 索性就放棄了. 不過對於 Node 我還是巨有興趣的. 這個月我都在為 SportJoin 編寫 Node API.

Tip 2:

Think! About Your Work

思考! 你的工作

Tip 3:

Provide Options, Don’t Make Lame Excuses

提供這種選擇, 不要找蹩腳的借口

Tip 4:

Don’t Live with Brokwn Windows

不要容忍破窗戶

Tip 5:

Be a Catalyst for Change

做變化的催化劑

Tip 6:

Remember the Big Picture

記住大圖景

Tip 7:

Make Quality a Requirements Issue

使質量成為需求問題

Tip 8:

Invert Regularly inYour Knowledge Portfolio

定期為你的知識資產投資

Tip 9:

Critically Analyze What You Read and Hear

批判地分析你讀到的和聽到的

Tip 10:

It’s Both What You Say and the Way You Say it

你說什麽和你怎麽說同樣重要

Tip 11:

DRY

— Don’t Repeat Yourself

不要重復你自己

Tip 12:

Make It Easy to Reuse

讓復用變得更容易

Tip 13:

Eliminate Effects Between Unrelated Things

消除無關事物之間的影響

Tip 14:

There Are No Final Decisions

不存在最終決策

Tip 15:

Use Tracer Bullets to Find the Target

用曳光彈找到目標

Tip 16:

Prototyle to Learn

為了學習而制作模型

Tip 17:

Program Close to the Problem domain

靠近問題領域編程

Tip 18:

Estimate to Avoid Surprises

估算, 以避免發生意外

Tip 19:

Iterate the Schedule with the Code

通過代碼對進度表進行叠代

Tip 20:

Keep Knowledge in Plain Text

用純文本來保存知識

Tip 21:

Use the Power of Command Shells

利用命令 shell 的力量

Tip 22:

Use a Single Editor Well

用好一種編輯器

Tip 23:

Always Use Source Code Control

總是使用源碼控制

Tip 24:

Fix the Problem, Not the Blame

要修正問題, 而不是發出指責

Tip 25:

Don’t Panic

不要恐慌

Tip 26:

“Select” Isn’t Broken

“Select” 沒有問題

Tip 27:

Don’t Assume it — Prove It

不要假定, 要證明

Tip 28:

Learn a Text Manipulation Language

學習一種文本操縱語言

Tip 29:

Write Code That Writes Code

編寫能編寫代碼的代碼

Tip 30:

You Can’t Write Perfect Software

你不可能寫出完美的軟件

Tip 31:

Design with Contracts

通過合約進行設計

Tip 32:

Crash Early

早崩潰

Tip 33:

If It Can’t Happen, Use Assertions to Ensure That It Won’t

如果它不可能發生, 用斷言確保它不會發生

Tip 34:

Use Exceptions for Exceptional Problems

將異常用於異常的問題

Tip 35:

Finish What You Start

要有始有終

Tip 36:

Minimize Coupling Between Modules

使模塊的之間的耦合減少

Tip 37:

Configure, Don’t Integrate

要配置, 不要集成

Tip 38:

Put Abstractions in Code, Details in Metadata

將抽象放進代碼, 細節放進元數據

Tip 39:

Analyze Workflow to Improve Concurrency

分析工作流, 以改善並發性

Tip 40:

Design Using Services

用服務進行設計

Tip 41:

Always Design for Concurrency

總是為並發設計

Tip 42:

Separate Views from Models

使視圖與模型分離

Tip 43:

Use Blackboards to Coordinate Workflow

用黑板協調工作流

Tip 44:

Don’t Program by Coincidence

不要靠巧合編程

Tip 45:

Estimate the Order of Your Algorithms

估算你算法的階

Tip 46:

Test Your Estimates

測試你的估算

Tip 47:

Refactor Early, Refactor Often

早重構, 常重構

Tip 48:

Design to Test

為測試而設計

Tip 49:

Test Your Software, or Your Users Will

測試你的軟件, 否則你的用戶就得測試

Tip 50:

Don’t Use Wizard Code You Don’t Understand

不要使用你不理解的向導代碼

Tip 51:

Don’t Gather Requirements — Dig for Them

不要搜集需求 — 挖掘它們

Tip 52:

Work with a User to Think Like a User

與用戶一同工作, 以像用戶一樣思考

Tip 53:

Abstractions Live Longer than Details

抽象比細節活得更長久

Tip 54:

Use a Project Glossary

使用一個項目詞匯表

Tip 55:

Don’t Think Outside the Box — Find the Box

不要在盒子外面思考 — 要找到盒子

Tip 56:

Listen to Nagging Doubts — Start When You’re Ready

傾聽反復出現的疑慮 — 等你準備好再開始

Tip 57:

Some Things Are Better Done than Described

對有些事情”做”勝於”描述”

Tip 58:

Don’t Be a Slave to Formal Methods

不要做形式的奴隸

Tip 59:

Expensive Tools Do Not Produce Better Designs

昂貴的工具不一定能制作出更好的設計

Tip 60:

Organize Around Functionality, Not Job Functions

圍繞功能, 而不是工作職務進行組織

Tip 61:

Don’t Use Manual Procedures

不要使用手工流程

Tip 62:

Test Early. Test Often. Test Automatically.

早測試, 常測試, 自動測試.

Tip 63:

Coding Ain’t Done ‘Til All the Tests Run

要到通過全部的測試, 編碼才算完成

Tip 64:

Use Saboteurs to Test Your Testing

通過”蓄意破壞”測試你的測試

Tip 65:

Test State Coverage, Not Code Coverage

測試狀態覆蓋, 而不是代碼覆蓋

Tip 66:

Find Bugs Once

一個 bug 只抓一次

Tip 67:

Treat English as Just Another Programming Language

把英語當作又一種編程語言

Tip 68:

Build Documentation In, Don’t Bolt It On

把文檔建在裏面, 不要栓在外面

Tip 69:

Gently Exceed Your User’s Expectations

溫和地超過用戶的期望

Tip 70:

Sign Your Work

在你的作品上簽名

程序員修煉之道 Tips