几年前,我的公寓里有一条看起来像漏水的下水道。我们开始拆除这堵墙,以找到问题的根源。没过多久,半个公寓就被洗劫一空。
在一次我们长时间咒骂地抽烟休息时,我的建筑工——通常是个健谈的家伙——变得异常安静,长吸了一口烟,说:“拆除一切,从头开始盖房子更容易。”
这是完全软件是如何工作的。
正如乔尔·斯波尔斯基所说,程序员,在他们的内心深处,是架构师。他们想要构建东西,而不是修补、微调和重构。从头开始设计一所房子要有趣得多,而不是试图找出前主人把所有的电线藏在哪里,请亲爱的上帝告诉我,这些电线不是埋在极其易燃的绝缘材料后面(它是)。
但你不能总是推倒重来。旧的代码可能是丑陋和臃肿的,但这可能是因为它保留了可怕的、古老的错误,您和您的用户早就忘记了这些错误。“太难看了”从来不是重写的好理由。随着时间的推移,您的程序可能会变慢,但这可以通过缓慢而系统地交换真正混乱的部分来缓解,即使这需要最糟糕的事情——阅读和理解某人的旧代码。
这可能很乏味。但是如果仔细地进行,并进行适当的测试,重构将比完全重写快得多。
关于漫画
在不重构Toggl的时候,我们喜欢用漫画来教授编程概念。你应该对这些教义持保留态度,但我们倾向于认为它们是准确的。
最近我们解释了瀑布、敏捷和其他开发方法之间的区别用太空火箭。我们还重新演绎了这个经典童话故事小红帽使用不同的编程语言。
Toggl是什么?
Toggl是一个简单的时间跟踪应用程序,帮助你看到你在哪里花费你的工作时间。如果你不注意,时间就会溜走,所以有一个工具可以告诉你在工作项目上花了多长时间,这很方便。
我们还开发了一些其他工具,使组织工作更容易Toggl计划是一个整洁的团队日历和计划Toggl雇佣是我们基于测试的招聘工具。
马特有人类学的背景,这门学科把观察人变成了一门科学。他最喜欢做那些让你从“那太蠢了”变成“嗯”的项目。