<卓有成效的程序员>读后感

本书的目标是为了提高程序员个体的工作效率

分为原则和实践两部分:

原则部分作者命名个四个法则:加速法则,专注法则,自动化法则,规范性法则。

加速法则看起来像是日本丰田的那个什么精益生产经验谈,即把我们程序员的日常工作中的小步骤尽可能的简化和改进,来提高我们的生产率。这里面附带揭示了很多道理,如:易用的不一定是高效的,甚至往往不是高效的,如UI与命令行。

好了,在加速我们日常工作的之外,如果我们接到一个任务,这个任务可以让计算机自动来完成吗?如果是,则让他自动化,如果不是,则让我们运用专注法则来完成它;如果这个任务需要多个人来参与,则使用规范性法则。如果可以推给别人的话呢?那就推吧-_-b

后面的实践部分,是实在话,虽然内容很丰富精彩,但是和前面的原则,看起来并没有什么关联,算得上奇技淫巧。我只能摘抄几个令我印象深刻的条目如下:

当前越来越复杂的需求,要求软件开发需要一个语言栈: 一个稳固的底盘语言(我选 Java),再加上多个特定领域的语言DSL如(XML,SQL,不知道Actionscript说他是专门立足于搞UI的语言,算不算DSL),还有一个日常工作使用的语言(我选groovy).

绝对要提出来的是:书中提到了很多有用的工具,感觉作者就是有了这些装备就从糟鼻子一跃成为魔术师的。这些工具非常值得借鉴:

svn2wiki,让程序员在提交代码的时写的注释发不到wiki上去,这不是我正想要实现的吗?彼们管理层不是要日报周报天天报吗,那最好搞一搞这个吧。

jEdit,据说丫的宏直接用beanshell编写,我看肯定有机会和groovy关联起来,这样打造一个比ultraEdit更易定制的编辑器应该是可能的,以后做一些文本处理工作,将会是Eclipse的很好的补充,而且是免费的。经验证,却是是可以使用groovy来编写宏的。并且可以做一个同步机制,让jEdit作为前段为整个开发团队提供统一的服务。

groovy,毫无疑问,我就是我要的动态语言,功能上和ruby之类的没有多大区别,但可以和java无缝集成,让俺们java人做人更一致,因为只需要会这一种语言就能上天入地。他将会是一个很好的scriptlet可以嵌入到其他如JBPM等需要脚本的地方,还能处理日常工作,不学不行!

wiki工具,初步选定jspwiki,因为有grovvy插件,而且还有很多其他展现丰富数据的插件,如展现图表等等。第二选择有xwiki,但是我觉得太大了点。

dbDeploy,貌似可以用来解决数据库升级问题,迁移问题?

buildix,Buildix will quickly and easily provide you with a complete and active Agile Ecosystem.

Continuous Integration, Source Control, Wikis and Bug-Trackers are all cornerstones of a well-run Agile development project. But if you’ve not configured them all before, it can be a bit tricky - and you might miss some of the tight integration that makes them really useful.

yDoc and SchemaSpy,一个根据java代码生成UML图,一个根据数据库结构生成关系图。

不过我显然不同意作者在阐述了ORM之后,认为同样的信息在java pojo、orm配置文件以及db schema这三个地方重复出现后,并本真DRY的精神给出解决办法即根据dbschema来生成orm配置文件以及javapojo。我认为对于整个应用来讲,这三个地方存放的信息都是属于他们各自方面的内容,如果想统一概括整个业务对象,需要在另外一个地方表达并存储,然后在推出这三块信息,也就是简单的MDA了,我下一步的目标。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值