编者按:本文作者为Jeff Standen,这是一位有着21年以上经验的国外软件开发者。如果你觉得他的经验比较有益处,可以借鉴一下。
首先开发spike解决方案—— 这是我早期敏捷/极限编程所养成的习惯之一。spike解决方案是一次性原型,可以帮助你在投入大量时间和精力之前验证你是否走对路。
区别就在于原型,因为你遵循这样一个规则,在你完成研究之后,你最终会扔掉“spike”代码。所以允许你偷工减料,迅速行动,因为它不会出现在产品或代码审查中。
此方法有助于迅速发现设计的哪些部位尚不明确,而不必过早地尝试架构或设计决策。
致力于小而连贯代码块的版本控制—— 通过类似CVS/Subversion,每次提交都直接发送到服务器。做部分文件的提交并不简单。
随着Git的出现,只提交较大文件的若干行代码变得很容易,并且可以在push到远程代码仓库之前先本地rebase/merge提交。
有一次,我在工作于更大功能的时候,采用了小型增量提交,我的工作效率直线上升。这样做能够清空我的大脑以便于面对更重要的事情。
经常写代码—— 最近,我正工作于:一个基于Web的企业协作和自动化平台(PHP / MySQL),一个基于云的实时指标聚合器和使用循环哈希(Node.js/ Redis)的API,一个面向iOS app商店(Swift/ SpriteKit)的棋盘游戏,专门的基于URL的cronjob可替代基于web的SaaS服务(JAVA),等等。
用过大量框架和语言有助于我的抽象和算法思维。
我从工具,如Eclipse RCP、Tapestry和Hibernate中学到了很多伟大的经验教训,并用到我的PHP项目里。尤其是在2000年初,在有Java特征的企业生态系统用于PHP存在之前。我从Unity3d/C#学到了很多关于网络和面向消息的架构。
如果我只坚持单一平台和社区的话,就永远不会知道这些概念。
编写简单的代码—— 我以前习惯于写复杂的代码以作为对自己的挑战。而现在的挑战是要编写优雅且简单的代码——到一种每个人都觉得他们也能做到的地步(即使他们不能)。简单代码通常来自于若干次复杂代码的迭代。
湘ICP备2022002427号-10 湘公网安备:43070202000427号
© 2013~2024 haote.com 好特网