这一篇文章其实就是记录程序员修炼之道中的所有 Tips, 我讲会在之后的每周实践两个 Tip, 并对这两个 Tips 进行补充和说明自己的体会, 最终成为书中所说的卓有成效的程序员.

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

在你的作品上签名

[No0000135]程序员修炼之道 Tips的更多相关文章

  1. Java程序员修炼之道 之 Logging(1/3) - Logback 配置(转)

    转自紫风乱写:http://www.blogjava.net/justfly/archive/2014/08/10/416768.html,建议大家去原处学习 写在前面的话: 作为<Java程序 ...

  2. java程序员修炼之道

    今天在论坛里看到了一位工作10年的java大牛总结的java程序员修炼之道,看完后给出的评价是:字字玑珠,深入人心,猛回头,自己一无是处··· 大牛告诉我们应该好好学习与修炼以下知识与技能 Java语 ...

  3. 《程序员修炼之道:从小工到专家》【PDF】下载

    <程序员修炼之道:从小工到专家>[PDF]下载链接: https://u253469.ctfile.com/fs/253469-231196340 内容简介 <程序员修炼之道> ...

  4. 《Java程序员修炼之道》

    原子类:java.util.concurrent.atomic 线程锁:java.util.concurrent.locks 对付死锁:boolean acquired = lock.tryLock( ...

  5. java程序员修炼之道——大牛告诉我们应该好好学习与修炼以下知识与技能

    —————————— ASP.Net+Android+IOS开发..Net培训.期待与您交流! —————————— 一:Java语言学习(对线程(thread),串行化,反射,网络编程,JNI技术, ...

  6. 分享Java程序员50多道热门的多线程和并发面试题(答案解析)

    下面是Java程序员相关的热门面试题,你可以用它来好好准备面试. 1) 什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位.程序员可以通过它进行多处理器 ...

  7. 优秀ASP.NET程序员修炼之路

    初级的程序员或经验不足的程序员往往只意识到自己的程序是写给计算机的,而不会在意程序其实也是写给人的,或在意得不够.不全面. 写给机器的程序,往往追求的是运行正确.执行效率能满足要求.但程序员的任务仅仅 ...

  8. 程序员求职之道(《程序员面试笔试宝典》)之程序设计基础(static的使用)?

    在C语言中,关键字static的意思是静态,它有三个明显的作用:首先,在函数体内,静态变量具有"记忆"功能,即一个被声明为静态的变量在这一函数被调用过程中其值维持不变.其次,在模块 ...

  9. 程序员求职之道(《程序员面试笔试宝典》)之看着别人手拿大把的offer,不淡定了怎么办?

    不管是在哪里,不管发生什么事,不要随便放下自己. --<当男人恋爱时> 很多求职者都会面临一个问题:别人手拿大把大把的offer了,而自己却是两手空空,别人签约之后已经过着"猪狗 ...

随机推荐

  1. 适合初学者的python实际例子

    最近在github上发现了一个有意思的项目,很适合初学者学习python代码. 学习一门语言刚开始的时候是很枯燥的,各种概念语法以及无聊的打印都会让人失去更进一步学习的动力. 很多同学在学习了一段时间 ...

  2. SNF快速开发平台--规则引擎在程序当中如何调用

    规则定义完如何在程序当中进行使用呢? 其时很简单,只需要如下代码就可以调用程序: 规则定义: 调用代码: #region 演示2:生成左表数据(规则) POST: /api/DEMO/DemoSing ...

  3. 物联网架构成长之路(20)-申请免费SSL证书

    0.前言 今天域名备案申请下来了,接下来就是申请个SSL证书,现在普通的网站没有SSL都不好意思见人了.可是稍微好点的企业级SSL证书还是比较贵的.不过还好有免费的可以用.只不过要定时去续时间.这个不 ...

  4. 透彻理解Spring事务设计思想之手写实现

    前言 事务,是描述一组操作的抽象,比如对数据库的一组操作,要么全部成功,要么全部失败.事务具有4个特性:Atomicity(原子性),Consistency(一致性),Isolation(隔离性),D ...

  5. 关于烦躁的网页编码问题utf-8,gb2312。终于自己实践了一遍

    俗话说实践是检验真理的唯一标准,的确如此. 自己一直比较懒,虽然觉得大牛应该一个记事本全部搞定,但自己还是喜欢用Dw或者Vs写好网页的架构,因为总觉得用notepad还要自己导入声明,而gVim还没有 ...

  6. TCP中的KeepAlive与HTTP中的Keep-Alive

    KeepAlive 与 Keep-Alive 前言 昨天被问到了HTTP中Keep-Alive的概念,看名字我只知道是保持连接用的,但是对于他怎么结束连接,为什么要用他这些就不是很清楚了,今天查了一下 ...

  7. 【九天教您南方cass 9.1】 03 编码法绘制地形图

    同学们大家好,欢迎收看由老王测量上班记出品的cass9.1视频课程 我是本节课主讲老师九天. 测量空间的[九天教您南方cass]专栏是九天老师专门开设cass免费教学班.希望能帮助那些刚入行的同学,并 ...

  8. Git 审查更改

    但查看提交详细资料后,Jerry 实现字符串的长度不能为负数,所以他决定改变my_strlen函数的返回类型. Jerry 使用git日志命令来查看日志信息. [jerry@CentOS projec ...

  9. CMS 01

    环境搭建 工具 sublime mysql 5.7, 数据库管理 Navicat django 1.10, django shell (可以用来检查错误) 操作系统, windows 7 搭建 dja ...

  10. Ubuntu 14.04 下搭建SVN服务器 (转载自 http://www.linuxidc.com/Linux/2015-01/111956.htm)-------------我所用到是红色字体

    http://www.linuxidc.com/Linux/2015-01/111956.htm Ubuntu 14.04 下搭建SVN服务器 svn:// 安装软件包: sudo apt-get i ...