2011年11月18日
摘要: 《高效程序员的45个习惯》,我对这本书的评价是——“敏捷开发修炼之道”。事实上,这句评价并不属于我,而是属于本书的作者Venkat Subramaniam博士,因为“敏捷开发修炼之道”原本就是这本书的副标题。我实在找不到一个更为贴切形容它的词句,只好把副标题扒下来,当我的评价!在讲述我的感悟之前,我想先说一下敏捷!什么是敏捷?答:我不知道!我所知道的只有敏捷宣言——个体与交互 重于 过程和工具可用的软件 重于 完备的文档客户协作 重于 合同谈判响应变化 重于 遵循计划笼统、简要,但这四句话是敏捷的核心所在!十年,并没有新的敏捷宣言出现,某方面上说业界在敏捷思想上没有大踏步的前进,但也说明这四句 阅读全文
posted @ 2011-11-18 10:37 菜刀Charlie 阅读(568) 评论(0) 推荐(0) 编辑
  2011年11月10日
摘要: (先说两件不相干的事:首先,《软件随想录——程序员部落酋长Joel谈软件》早在一个月之前我已经读完了,原本打算在读完的时候就给出书评,但因为比较懒惰,又给自己找了一些借口,所以一直拖到现在。为此,我想说声“对不起”。其次,上周不小心把脚扭了,老老实实的躺了三天半,不觉有些懈怠,所以赶快出来把欠下的东西补回来!好了!废话说完,赶快上正文!)《软件随想录》,我看的很快,不得不说,Joel是个理想的管理者,我很希望我能在一个像Joel这样一个领导的团队当中找到自己的位置!可惜,这很可能只是个空想!不过我依旧为我在书中所闻所感,觉得欣慰!第一,先说点不好的东西,Jole在书中多次、很多次提到他的Fro 阅读全文
posted @ 2011-11-10 16:53 菜刀Charlie 阅读(1170) 评论(0) 推荐(0) 编辑
  2011年11月7日
摘要: 布鲁克斯法则,据说是经典的管理定律之一。布鲁克斯法则,据说是北卡罗来纳大学计算机科学教授Frederick P. Brooks,Jr.提出的经典理论!为什么用个“据说”,因为这都是别人和我说的,所以我加上了这两个字!“为推迟的软件增加人力将使得软件时间发布更晚。 这是因为后来者需要加快速度,同时还要与前任进行沟通,从而使得开发团队增加了更多的开发时间,这个时间超过了新增程序员所做的贡献。从理论上说,软件发展陷入僵局是可能的,此时开发团队极其庞大,以致所有时间都来互相沟通和重新决定,这样项目永远也不会完成。”以上内容就是布鲁克斯法则的内容。说的对么?答:非常对。假定,一个项目两个人,可以在三天内 阅读全文
posted @ 2011-11-07 09:23 菜刀Charlie 阅读(1890) 评论(5) 推荐(1) 编辑
  2011年11月4日
摘要: 先讲个小故事吧!明神宗朱翊钧是明朝历史中在为最久的皇帝,小哥儿十岁继位,五十八岁驾崩,整整在位四十八年,比他的老祖宗朱元璋的帝王资质要高很多!后世人有的说他是天才,有的说他是昏君,昏君也好,天才也罢,这小子的确有点出人意表的东西!相传明神宗最大的爱好是炼丹,从当了皇帝开始,就没怎么上过朝,整天蹲在丹房里,研究怎么能强身健体长生不老!最后,小哥儿也是死在自己的丹子上。可毕竟是皇帝,不上朝可以,但不能不理朝政,何况那时候道士朱翊钧的内阁首辅是超级强势的张居正大爷,所以,朱翊钧有些时候也不得不发出一些指令!于是,朱翊钧有了他最神奇的三字谕旨。很多很多年,不管多长的内容,哪怕要写一篇毕业论文才能说明白 阅读全文
posted @ 2011-11-04 14:37 菜刀Charlie 阅读(2177) 评论(7) 推荐(2) 编辑
  2011年10月27日
摘要: “重构”,太火爆的字眼儿了!“重构”是什么意思?答:Refactor。可答案却远远不只是这几个字母这样简单。有人和我说,“重构”就是在eclipse里右键点击抽象方法,改变量名这些个操作。那对不起了,我并不是在批判谁,但这只是诸多开发工具提供的重构工具而已,它还远远不是“重构”。“重构”本身,是一种方法,一种思想。它是一种改善既有代码的方法,提高原有代码的易读性,可重用性,节省后期代码的维护成本,在提升代码本身质量的同时,在一定程度上提升程序的效率。比方说,改掉代码中糟糕的匈牙利命名法;比方说,将反复出现的代码抽象成方法;再比方说,消灭掉代码中的循环交互……当然,这些东西我们可以借由重构工具, 阅读全文
posted @ 2011-10-27 10:18 菜刀Charlie 阅读(1544) 评论(6) 推荐(1) 编辑
  2011年10月17日
摘要: “形象代言人”与“抽风式管理”两者似乎没有什么联系,和程序员似乎更没什么关系。但软件行业内,这两样东西都是存在的。先说“形象代言人”:什么是“形象代言人”,成龙对于“霸王洗发水”,郭德纲对于“藏秘排油”,都是形象代言人。那么,一个软件开发团队的形象代言人是谁呢?他真的存在么?一个软件开发团队当中,往往存在这样的一类人,他们不做任何具体的编码工作,而且极有可能不会编码,具体工作是陪各种领导及客户吃喝玩乐一条龙,独自一人的时候在独立办公室内玩空档接龙和红心大战,闲着没事的时候,拿个点名册在办公室门口抓迟到的下属,或者把某个程序员叫到他的办公室内做批判性“谈心”。幸运的是,绝大多数团队中这类人不存在 阅读全文
posted @ 2011-10-17 14:03 菜刀Charlie 阅读(1546) 评论(8) 推荐(2) 编辑
  2011年10月14日
摘要: 《观止——微软创建NT和未来的夺命狂奔》,好书!可惜,我却没有勇气将它读完。“观止”,有几种定义:1、意指观止级的错误;2、面对臭虫见到就干掉——showStop;3、叹为观止。个人觉得,本书中“观止”一词的三个意义都展现的淋漓尽致。它是软件行业当中最好的报告文学作品之一,正如书的封底上史蒂夫.利维所说的那样——“不论是黑客还是计算机新手,这本书都值得一读。”全书只有二百页,但却将戴夫.卡特勒和他所率领的NT部落历时五年,创建windows NT的波折,都记录于其中,让读者看到了真正意义上的大型项目所需要面临怎样超乎想象的困难。也让读过他的人记住了NT,和站在NT身后的那些名字——戴夫.卡特勒 阅读全文
posted @ 2011-10-14 09:45 菜刀Charlie 阅读(1639) 评论(7) 推荐(6) 编辑
  2011年10月9日
摘要: “文学家”,一个超然于世外,高高在上的职业;“程序员”呢?自命清高的IT民工。两者看起来八杆子打不着一下,但多少还是有那么点联系的。我擅自把二者都定位为“文字工作者”,这样两者之间也就算有了联系吧。希望大家不要飞砖。“文学家”有以下几个特点:1、靠文字吃饭,每天都在和各式各样的文字符号打交道。2、要善于思考,敢于思考。要给自己思考出一堆矛盾,然后再组织文字解决矛盾。3、要有很强的逻辑思考能力,先说什么,后说什么,如果组织开端、发展、高潮、结局,如何演绎起承转合。4、自己心里要有谱儿,要有个目标存在,有个大纲存在,然后将最简单的大纲丰富成一篇完整的文章。5、工作的时候,要面临不断的修正,返工。能 阅读全文
posted @ 2011-10-09 08:55 菜刀Charlie 阅读(993) 评论(8) 推荐(1) 编辑
  2011年10月8日
摘要: 好不容易把《编程人生》看完了!很受折磨!怎么说呢,折磨吧,不是因为书不好,恰恰相反,因为书太好了才受折磨。一本好书,我觉得应该多读一段时间,希望它越长越好。可一本厚厚的书捧在手里,没看的比看过的页数多,心里是很着急,很烦躁很难受的。首先呢,不可否认,《编程人生》是一本好书,一本值得看两遍以上的好书。《编程人生》是一本访谈笔录,记录了当今最具个人魅力的15 位软件先驱的编程生涯。包括DonaldKnuth、Jamie Zawinski、Joshua Bloch、Ken Thompson 等在内的业界传奇人物,为我们讲述了他们是怎么学习编程的,如何爱上编程的。虽然大多数开发人员都不会达到那个高度, 阅读全文
posted @ 2011-10-08 16:03 菜刀Charlie 阅读(4088) 评论(5) 推荐(6) 编辑
  2011年9月30日
摘要: 我一直在想两个比较有争议的问题——一段拥有良好功能和效率的代码,是不是一定有很好的注释?反之,拥有良好注释的代码,是不是一定有很好的功能和效率呢?有点无聊的问题,因为两个问题的答案都不是百分百绝对的,的确如此,但其中却多少有迹可循。前一个问题,我觉得可以这样进行佐证:一段代码,有很好的效率和功能,但却没有注释或者注释很糟糕,那结果是什么呢?结果是这段代码所达到的效果很可能不是最好的。特例情况只有开发者很聪明,超出凡人很多。后一个问题:一段拥有良好注释的代码,很可能拥有很好的功能和效率。特例情况只有很笨,低出凡人很多。而且,这种特例出现的情况要远远低于前一个问题中聪明人出现的概率。原因是什么呢? 阅读全文
posted @ 2011-09-30 14:53 菜刀Charlie 阅读(1685) 评论(7) 推荐(1) 编辑