找到一本关于提高程序员效率的好书‘卓有成效的程序员’书中的很多很值得我们去效仿学习。相同的时间不同的效率所产生的结果往往就有巨大的差异。
这里记录下书中精彩的内容和自身的一些感受
1.关于易用性和高效性
对用户来说GUI交互性对其来说友好易用,但是对于熟稔计算机的程序员来讲可能就会是个障碍(降低了效率)。最好的例子就是windows和linux的例子,bash shell对于程序员是个不错的选择。
例:linux下的构件块
Cygwin,windows下应用linux命令行强有力的工具。 点击打开链接
命令行大有作为:
问题:一个java项目,有许多以Helper结尾的辅助类,如何找出
$ find . -name *Helper.java
还可以用管道传给别的工具,如wc(统计工具:字,词,行和文件的统计)
$ find . -name *Helper.java | wc -l
grep的由来: vi的祖先ex编辑器中 查找命令 g开头(全局搜索)最后输入p打印查找的结果。 g后以/开头和结尾的正则表达式。
问题:查看所有辅助类文件内部的内容,找到那些继承别的类的类文件。
$ find . -name *Helper.java -exec grep -l "extends .*Helper" { } \;
命令行的说明
字符串 | 用途 |
find | 执行find |
. | 当前目录 |
-name | 匹配其后字符串 |
-exec | 搜索的文件执行命令 |
grep | grep命令 |
-l | 打印包含匹配字符串文件 |
"extends .*Helper" | 待匹配的字符串 |
{ } | 占位符,有find命令的输出文件替代 |
\; | 结束符 |
2.记住历史
linux下shell指令: history
! #执行最近的一个命令。
3.尽可能的使用键盘
编程是文本行为,所以应该尽量将手放在键盘上。
使用IDE编程时应尽量利用快捷键
常用的快捷键:eclipse中快捷键 ctrl-shift-L 罗列所以快捷键。
二.专注法则
去除低效和不必要的干扰,集中注意力的方法
三. 利用批处理实现自动化
做个有心人,查看每周做的事情有没重复做的,尝试用重复的工作自动化。
四.规范性法则
DRY:Don't Repeat Yourself