Software Engineering
RayChase
博客搬家了: https://www.raychase.net/
展开
-
过度工程
过度工程,最初我知道这个词是在Rod Johnson的《J2EE Development without EJB》,随着阅历地增长,渐渐发现书中熟悉的场景也在身边再现了。 敏捷、还有设计模式,给一个团队带来了什么? 我之所以把这两个词放在一起讲,是因为我要说一件显而易见的事情,可是这样一件事情很多人又不愿承认。 团队,是有风格个性的;团队,也是有能力强弱的。不管你承认不承认,整体来说,...2011-04-30 22:25:00 · 122 阅读 · 0 评论 -
进阶过程:程序员做项目的独立性
第一阶段:编码机器 这是最低级的阶段,程序员拿到详细设计文档,上面连许多方法接口都定义好了。重构一些代码,写一些实现,调用一些既定的API,然后花许多时间在各种各样的场景测试上面。从做的工作上看,这都不能算程序员,最多,只是编码技巧卓越的码农而已。因为它几乎扼杀了一切创造力,但是这很常见,比如在一些对日外包公司,就是如此。 第二阶段:独立的实现者 程序员得到的只是粗略的设计文档,也许注明了...2013-02-05 23:11:24 · 257 阅读 · 0 评论 -
我眼中的工程师文化
现在HR和猎头也懂得,挖程序员不能光讲钱和项目了,多少号称工程师文化的公司花开北京上海,可是到底什么是“工程师文化”?谁能给一个准确的定义? 有人说,什么文化就是什么说了算的意思,工程师文化就是工程师说了算。这未免也太肤浅了。也有人说,工程师文化就是自由上下班、松散管理,做喜欢的项目。我想这依然是不恰当的,这些人只说出了工程师文化给工程师带来的权利,更何况这种对权利的认定还是片面的。 工...2012-12-10 02:00:14 · 196 阅读 · 0 评论 -
解雇专业的运维人员吧
解雇专业的运维人员吧 在很多情况下,运维占到软件成本的大块,专业的运维人员更是不好找。这样的人需要熟悉操作系统、网络以及数据库。而运维又是一件很苦逼的事情,成了算是软件写得好,研发团队的功劳;败了就得彻夜坚守岗位提供支持,不可控的因素太多。是上游团队的软件质量太差吗? 我在09年的时候曾经到过局方,呆了挺长一段时间,既是开局,也做运维的工作,和运维的工程师朋友一起蹲机房、守夜、切设备...2012-08-14 23:25:50 · 144 阅读 · 0 评论 -
Process and Corporate Culture
Corporate culture is not only a concept that a company uses to attract talents, but also a spirit and method running through the management. Here, I'll talk about the process, which reflects the chara...2012-02-20 23:00:25 · 154 阅读 · 0 评论 -
代码评审鲜为人知的好处
代码评审究竟有什么好处? 在前期发现问题,提高软件质量,降低软件成本。 事实上,代码评审的好处远不止这些。有些项目经理或者开发人员不愿意多提评审,Coding的过程包含的内容非常丰富,如果只把一个字符一个字符地敲代码叫做Coding,未免悲哀了一点。优秀的项目,编码阶段实际敲代码的时间不会很长;优秀的程序员,大部分时间都用来思考了。 我来说说代码评审其它鲜为人知的好处,兴许能改变某些同...2012-02-15 21:01:01 · 301 阅读 · 0 评论 -
那些牛叉无比的评审风格,你,属于哪一种?
在这篇文章里,我们可以见到许多有意思的编程风格,又没有精神为之一振的感觉,仿佛里面的例子就在自己身上,或者离自己很近。其实,对于文档、代码的评审,也是有诸多风格可言的,我这里列举一些有意思的典型: 一坨屎型评审 阅读文档、代码的时候,这些东西在自己眼里就是一坨屎:“我这么高智商的人都看不懂,明显是你有问题!”。 这样的人有一个他自己相当认可的世界观,凡是和这个世界观相冲突的无论对错的事...2012-01-22 11:47:23 · 121 阅读 · 0 评论 -
我们的时间去了哪里?
做一个大型的WEB项目已有近两年,兄弟姐妹们总在忙忙碌碌中度过,看似很充实,可是当每个版本结束,我想我们又完成了一件大事,可是紧张的项目周期加上持续的加班,客户和一线还是对版本质量不满意。看到完成的作品时,我总有一种感觉:投入了相当大的人力,团队成员也兢兢业业,按说时间应该绰绰有余才对,可是实际上为什么我总觉得版本紧张,我们的时间怎么那么容易就被消耗掉了? 内耗之事 不可否认当一个团队人...2011-04-09 11:34:00 · 166 阅读 · 0 评论 -
功能、模块质量和非功能性测试
但凡面向终端用户的产品,产品做大了以后,几乎都要涉及到基线能力和定制能力的划分。任何一个优秀的产品,都要经历从相对无序到有序的逐步成熟的过程。产品的发展总是要经历不断的阵痛,可是时间长了,我还是总免不了思考:好吧,就算产品最初匆忙和艰辛的时期已经过去,就算现在基线能力的建设已经迈入正轨,可是为什么我们的直接客户,定制团队还是那么辛苦? 有多少功能是真正值得去完成、真正被用户所需要的? 据...2011-03-09 23:48:00 · 292 阅读 · 0 评论 -
续:过度工程
在上一篇博客中,提到了几种常见的过度工程,然而不幸的软件团队有各自的不幸,故事似乎远不止这么多。 又见可扩展性,到底要扩展到什么时候? 见过一些同事,写代码处处考虑灵活、兼容,已经易扩展,一个简简单单的类实现,硬生生地被拆成从接口到抽象类到策略接口到策略实现类到辅助类到工具类十几个类来完成,和可是结果呢?还没等扩展开始,项目就黄了;或者某心态居高的程序员看到了,看着不爽,想不明白,...2011-09-23 08:29:36 · 127 阅读 · 0 评论 -
不安分的工程师
在超级杯中,拜仁和切尔西战成平手,点球大战中,20岁的年轻的球员卢卡库站出来罚球,遗憾的是罚失点球,令整支球队失败,丢掉冠军。对于失落和愧疚的年轻人,切尔西的传奇射手德罗巴在Instagram上鼓励了他: “只有那些从不踢点球的人才不会罚失点球,罚点球你足够强大。你需要从中学习,我也有过类似的经历,在莫斯科的决赛中的红牌,还有半决赛对阵巴塞罗的比赛。坚持不懈的奋斗,更好的日子一定会到来。你...2013-09-02 20:30:16 · 181 阅读 · 0 评论