[No0000135]程序员修炼之道 Tips
这一篇文章其实就是记录程序员修炼之道中的所有 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的更多相关文章
- Java程序员修炼之道 之 Logging(1/3) - Logback 配置(转)
转自紫风乱写:http://www.blogjava.net/justfly/archive/2014/08/10/416768.html,建议大家去原处学习 写在前面的话: 作为<Java程序 ...
- java程序员修炼之道
今天在论坛里看到了一位工作10年的java大牛总结的java程序员修炼之道,看完后给出的评价是:字字玑珠,深入人心,猛回头,自己一无是处··· 大牛告诉我们应该好好学习与修炼以下知识与技能 Java语 ...
- 《程序员修炼之道:从小工到专家》【PDF】下载
<程序员修炼之道:从小工到专家>[PDF]下载链接: https://u253469.ctfile.com/fs/253469-231196340 内容简介 <程序员修炼之道> ...
- 《Java程序员修炼之道》
原子类:java.util.concurrent.atomic 线程锁:java.util.concurrent.locks 对付死锁:boolean acquired = lock.tryLock( ...
- java程序员修炼之道——大牛告诉我们应该好好学习与修炼以下知识与技能
—————————— ASP.Net+Android+IOS开发..Net培训.期待与您交流! —————————— 一:Java语言学习(对线程(thread),串行化,反射,网络编程,JNI技术, ...
- 分享Java程序员50多道热门的多线程和并发面试题(答案解析)
下面是Java程序员相关的热门面试题,你可以用它来好好准备面试. 1) 什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位.程序员可以通过它进行多处理器 ...
- 优秀ASP.NET程序员修炼之路
初级的程序员或经验不足的程序员往往只意识到自己的程序是写给计算机的,而不会在意程序其实也是写给人的,或在意得不够.不全面. 写给机器的程序,往往追求的是运行正确.执行效率能满足要求.但程序员的任务仅仅 ...
- 程序员求职之道(《程序员面试笔试宝典》)之程序设计基础(static的使用)?
在C语言中,关键字static的意思是静态,它有三个明显的作用:首先,在函数体内,静态变量具有"记忆"功能,即一个被声明为静态的变量在这一函数被调用过程中其值维持不变.其次,在模块 ...
- 程序员求职之道(《程序员面试笔试宝典》)之看着别人手拿大把的offer,不淡定了怎么办?
不管是在哪里,不管发生什么事,不要随便放下自己. --<当男人恋爱时> 很多求职者都会面临一个问题:别人手拿大把大把的offer了,而自己却是两手空空,别人签约之后已经过着"猪狗 ...
随机推荐
- 从HTML Components的衰落看Web Components的危机 HTML Components的一些特性 JavaScript什么叫端到端组件 自己对Polymer的意见
http://blog.jobbole.com/77837/ 原文出处: 徐飞(@民工精髓V) 搞前端时间比较长的同学都会知道一个东西,那就是HTC(HTML Components),这个东西名字很现 ...
- 浅析Sql Server参数化查询
说来惭愧,工作差不多4年了,直到前些日子被DBA找上门让我优化一个CPU占用很高的复杂SQL语句时,我才突然意识到了参数化查询的重要性. 相信有很多开发者和我一样对于参数化查询认识比较模糊,没有引起足 ...
- NeoFinder for Mac(增强型文件管理工具)破解版安装
1.软件简介 NeoFinder 是 macOS 系统上一款帮助用户管理磁盘的 Mac 工具,NeoFinder for mac 能迅速组织您的数据,无论是在外部或内部磁盘,或任何其他卷.它能记 ...
- FeignClient使用
在使用Spring Cloud开发微服务应用时中,各个微服务服务提供者都是以HTTP接口的形式对外提供服务,因此服务消费者在调用服务提供者时,通过HTTP Client的方式访问.当然我们可以使用JD ...
- tsung -- 压力测试利器
Tsung 是一个压力测试工具,可以测试包括HTTP, WebDAV, PostgreSQL, MySQL, LDAP, and XMPP/Jabber等服务器.针对 HTTP 测试,Tsung 支持 ...
- openssl命令行工具简介 - 指令x509
原文链接: http://blog.csdn.net/allwtg/article/details/4982507 openssl命令行工具简介 - 指令x509 用法: open ...
- [k8s]kube-dns架构图解
kubedns DNS Policy http://blog.fleeto.us/translation/configuring-private-dns-zones-and-upstream-name ...
- [svc]tomcat配置文件详解-最简单的基于mvn的war包
tomcat安全管理规范 java&tomcat配置参考(多看看这位大牛的博客,写的很好) Tomcat系列之Java技术详解 http://blog.51cto.com/freeloda/1 ...
- docker运行中的container怎么修改之前run时的env
如题,这样: 1. service docker stop, 2. 修改/var/lib/docker/containers/[container-id]/config.json里对应的环境变量 3. ...
- Java编程的逻辑 (82) - 理解ThreadLocal
本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http: ...