驯服烂代码
文章平均质量分 64
伍斌_Ben
独立匠艺程序员
展开
-
驯服烂代码场景之二:要我改烂代码,但是烂代码烂得让我无法理解,该怎么办?
心法之一:“理解烂代码”与“写新代码”是一样重要的工作,嫌烂代码臭,就不去闻它,闭着眼睛捏着鼻子写新代码,似乎看起来效率高,其实是没头的苍蝇在乱撞,反而浪费时间。心法之二(当没有时间重写烂代码时):烂代码虽然烂,但毕竟还能work,当进度压力大时,就没有推倒重写的时间。相比之下重构既不会影响烂代码的功能,也会让代码质量向好的方向转变。手法之一:草稿式重构,即找一个新目录,把烂代码check原创 2012-12-18 08:37:57 · 946 阅读 · 0 评论 -
二度驯服Trivia烂代码:bjdp.org第13次编程道场即将开始
二度驯服Trivia烂代码:bjdp.org第13次编程道场即将开始2014-02-20 伍斌_Ben 北京设计模式学习组伍斌_Ben在春节前第一次驯服Trivia烂代码,断断续续花了6天时间。而为迎接这次编程道场,特意再次驯服了一遍Trivia,却只花了2天时间。时间虽然缩短了三分之二,但是自我感觉效果却比第一次更靠谱,因为第二次驯服,又收获了下面这些新的体会原创 2014-02-20 01:05:39 · 1201 阅读 · 0 评论 -
8个驯服烂代码的原则:bjdp.org第13次编程道场回顾
* 时间:2014.02.23, 2:00-5:45pm* 地点:北京直真科技技术股份有限公司* 参加人数:24人* 活动主题:驯服Trivia烂代码(Java版)* Java版Trivia未驯服前源代码:https://github.com/wubin28/trivia/tree/master/java* 伍斌第一次驯服Trivia的源代码:https:/原创 2014-02-23 23:44:27 · 1887 阅读 · 0 评论 -
观察、保护、重构:驯服Trivia烂代码心得
伍斌_Ben已经完成了bjdp.org将于2月23日在编程道场上驯服Trivia烂代码的Java编程操练题目。驯服的过程,就如同把妖猴悟空驯服成佛一样,可以总结为三步:观察、保护、重构。源代码与详细重构过程已经上传github供下载参考。原创 2014-02-05 08:47:47 · 1417 阅读 · 0 评论 -
我赞同Martin Folwer在《重构》一书中有关代码注释的观点,并在此基础上引申一步
我赞同Martin Folwer在《重构》一书中有关代码注释的观点,并在此基础上引申一步,即好的代码注释应该“只”用来描述“为什么(Why)”会有相应的这段代码和您暂时没有搞清楚的事情,而不要包含这段代码“做了什么(What)”和“如何做的(How)”,因为如果您能做到每个方法不超过5行,那么What应该由方法名和类名来定义,而How应该由上述不超过5行的代码来定义。原创 2014-02-06 19:29:17 · 1080 阅读 · 0 评论 -
《驯服烂代码》第1章 “刻舟求剑”的文档
【按】本文是我正在撰写的《驯服烂代码》的第一章手稿,供各位网友试读。期待指点!欢迎转帖,恭请转帖时注明出处:。谢谢。联系作者可查找我的新浪微博:伍斌_Ben第1章 “刻舟求剑”的文档“什么是软件?”上个世纪90年代初的一个冬日,在北京东南近郊的一所大学里,一位年近花甲的老师,给我们这些计算机系的学生讲软件工程这门课时,问了这个问题。对于那个时候几乎没有多少机会摸电脑的我来说,软件就原创 2013-12-24 12:57:40 · 5289 阅读 · 17 评论 -
《驯服烂代码》第1章 撒谎的路标与裸奔的代码
用结对编程来操练编码招式的写作形式,看看瀑布式软件开发方法的弊病所在,为下一章测试先行驱动生产代码的TDD测试驱动开发和第三章在测试的保护下重构到设计模式做准备。原创 2013-11-28 16:40:37 · 1562 阅读 · 0 评论 -
《驯服烂代码》第一章
【按】这是本人正在撰写的《驯服烂代码》第一章的草稿,请各位网友审阅,望各位不吝赐教,多谢!第1章 何谓烂代码光阴如梭,从1993年大学计算机专业本科毕业,至今一晃就过了近20年。在这近20年的IT职业生涯中,做了11年的程序员。这期间,自己写了不少代码,也看到别人写的不少代码。现在回想起来,这些代码竟然80%以上可以算作“烂代码”。那么,究竟什么是烂代码?国内外程序员是如何定义原创 2013-05-16 13:41:06 · 3354 阅读 · 22 评论 -
Refactoring to Patterns中译本《重构与模式(修订版)》部分勘误提示
Refactoring to Patterns中译本《重构与模式》部分勘误提示人民邮电出版社,《重构与模式(修订版)》,2013年1月第1版,2013年1月北京第1次印刷。第13页,“2.8 演变出新的架构”之下第2段,“公共代码应该从新的框架层中得到,...”英文原文:Common code would be accessible from a new framework l原创 2013-04-05 20:49:20 · 1228 阅读 · 0 评论 -
一个或许比Ward Cunningham的“技术债务”更能打动中国软件开发团队接受单元测试的理由
之所以单元测试在国内本土软件开发企业中没有成为主流,我个人认为主要原因是包括码农、开发经理、公司高层在内的国内本土软件开发团队,大都没有看到“单元测试”能给产品内在质量所带来的具有中国味道的好处。西方大师所认为的单元测试“能够确定开发接口、保护已有代码不被破坏、起到API文档作用”等等好处,我认为对于中国软件开发团队还是不具足够的吸引力。我认为,比较能说服中国软件开发团队认可单元测原创 2013-04-15 14:22:21 · 1549 阅读 · 1 评论 -
如果把TDD的理念与反腐工作联系起来
基于TDD的自动化测试的本质不是找bug,而是确定目标和维护目标。当软件实现了原有的目标,并开始实现新目标时,若破坏了原有目标,则自动化测试会发现bug。故bug只是“维护目标”的副产品。如果把TDD的理念与反腐工作联系起来,与TDD类似,反腐的策略应该重在确定目标(坚守天下大道)和维护目标(完善监督监察),而不是重在找贪官。这样一来,胆小的贪官在完善监督监察网络面前不敢再贪,另一些胆原创 2013-03-23 18:25:34 · 1820 阅读 · 0 评论 -
《驯服烂代码——代码内在质量的改善之道》写作大纲之二:内容简介
本人计划在2013年撰写《驯服烂代码——代码内在质量的改善之道》一书,恳请各位关注驯服烂代码的朋友审阅下面的写作大纲,看看如何写才能帮到日夜加班奋战在烂代码之中的人们。望不吝赐教,多谢!内容简介第一篇 明道本篇讨论烂代码的含义和驯服烂代码的概念。第1章 关于烂代码本章讨论“烂代码”的含义和代码变烂的原因。1.1 代码的内在质量Steve McConnel原创 2013-01-24 12:04:20 · 2403 阅读 · 4 评论 -
《驯服烂代码——代码内在质量的改善之道》写作大纲之一:选题思路和读者对象
本人计划在2013年撰写《驯服烂代码——代码内在质量的改善之道》一书,恳请各位关注驯服烂代码的朋友审阅下面的写作大纲,看看如何写才能帮到日夜加班奋战在烂代码之中的人们。望不吝赐教,多谢!选题思路本书主旨是通过可运行的实战案例代码来讨论改善Java代码内在质量的心法和手法。本书属于国内原创直接讨论“驯服烂代码”题材的图书,而该题材的图书在市场上目前是空白。虽然有不少相关主题的英文经典原创 2013-01-24 11:56:51 · 2257 阅读 · 3 评论 -
驯服烂代码场景之一:活多时间紧,但我的新代码依赖于烂代码,我该如何改烂代码?
指导思想:将新代码与烂代码实现逻辑分离,这样只是对新代码写单元测试并实施TDD,而无须对烂代码写单元测试。手法之一(当新代码的职责与烂代码明显不同,且烂代码的类已经塞满了许许多多彼此不同的职责,而新职责在很多地方被调用时):外敷类,即使用Decorator模式将新职责外覆在烂代码的职责之上,用TDD来开发新职责类。手法之二(当新代码的职责与烂代码明显不同,且烂代码的类很难实例化并放入单原创 2012-12-18 08:33:16 · 811 阅读 · 0 评论 -
《驯服烂代码》一书章节规划
敝人计划在2014年4月底之前完成《驯服烂代码》的写作,现在已完成第一章(试读链接:)。下面是本书的章节规划,恭请网友指点。联系我可查找我的新浪微博:伍斌_Ben第1章用旧方法实现编码招式,暴露问题第2章用测试先行的方法重新实现编码招式,引出TDD概念第3章在测试保护下把代码重构到设计模式,体现运用TDD概念的好处第4章阐述烂代码的概念第5章用ATDD/BDD技术实现编码招原创 2013-12-24 19:53:00 · 1434 阅读 · 0 评论