程序员修炼之道 Tips

2017年02月23日

这篇是参考draveness的程序员修炼之道 Tips这篇文章,希望自己能慢慢写下自己对每个Tip的理解,不断完善自己ㄟ( ▔, ▔ )ㄏ

Tip 1
Care About Your Craft
关心你的技艺

Tip 1体会:作为开发者,为了提高工作效率,更好的解决问题,你的技术能力水平无疑是非常重要的,所以,这点也放在了第一条。我觉得自己每天除了工作上任务,至少要花2个小时在研究技术上,不断借鉴别人的经验,结合实践学习,每天多敲多联系,扩充”符文天赋“,让技能树越来越茂密~

Tip 2:
Think! About Your Work
思考! 你的工作

我觉得自己以前总犯的错误,可以说工作以来一直都犯的错误就是,低头拉车,没有抬头看路,不否认前期的学习从无到有,有太多的东西需要去理解,然而当时未养成好的学习方法,为了赶项目时间,缺少总结和记录,缺少像很多优秀的开发者深入分析研究的兴趣,代码练得较少,无怪乎现在感觉自己知识点不扎实吧。

第二个就是工作中,和你工作的小伙伴后台、产品还有测试的沟通的程度,会很大程度的影响你项目的进展情况,整个Team的氛围是反映工作文化的,和同事间多沟通,利于增进彼此关系和了解,对工作和生活都很重要。

除了完成工作,不断地反省和总结,不管是那一块,把心得应用起来,就会有所提高。

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)