在软件开发中,项目开发过程中出现的需求和挑战从未停止和不断变化。您的软件项目取决于团队中所有开发人员的技能、培训和能力。
一个成功的开发人员是(技术上的)健康、平衡和敏捷的人。敏捷意味着能够快速适应不断发展的情况,就像一个比预期更早崩溃的设计。
以下是一些可以帮助您的提示:
- 使用自动化单元测试:好的单元测试会立即警告您出现问题。在没有可靠的单元测试的情况下,不要进行任何设计或代码更改。
- 一个测试胜过一千个专家意见:没有测试的代码会让你感觉不舒服。单元测试是一项投资。明智地投资。测试访问器或琐碎的方法可能不是很花时间。
- 一个好的设计是一张地图;让它进化
Let Design Guide, Not Dictate
设计为您指明了正确的方向。这不是领土本身;它不应该规定具体的路线。不要让设计(或设计师)成为你的人质。
一个好的设计是准确的,但并不精确。也就是说,它所说的应该是正确的,但它不应该包含可能改变或不确定的细节。这是意图,而不是食谱。
- 在构建之前使用它:使用测试驱动开发作为设计工具。它将引导您进行更实用和更简单的设计。您将始终有编写代码的具体原因。您可以专注于设计界面,而不会被实现细节分心。
- 写代码要清晰,而不是聪明:向代码的读者清楚地表达你的意图。不可读的代码并不聪明。
Code you write must clearly communicate your intent and must be expressive. By doing so, your code will be readable and understandable. Since your code is not confusing, you will also avoid some potential errors. Program Intently and Expressively.
- 在短的编辑/构建/测试周期内编写代码:这比长时间编码要好。您将创建更清晰、更简单且更易于维护的代码。
- 开发最简单的解决方案:保持代码/设计简单。仅当您有令人信服的理由使用它们时,才将模式、原则和技术纳入其中。
Any fool can make things bigger, more complex, and more violent. It takes a touch of genius—and a lot of courage—to move in the opposite direction.
- 沟通,沟通和沟通;通知他人:接受一项任务,即表示您同意按时交付。但是,遇到问题并面临延误并不罕见。截止日期到了,在演示中,您应该展示代码工作。如果你到达会议并通知所有人你还没有完成怎么办?除了尴尬之外,这对你的职业生涯也不利。
发布你的状态、你的想法和你正在看的整洁的东西。不要等着别人问你你的工作状态。
通过让其他人了解情况,您可以消除意外,他们也很高兴知道您的进展。他们知道何时向您伸出援助之手,而您赢得了他们的信任。
- 始终保持您的项目可发布:确保项目始终可编译、可运行、经过测试并随时准备部署。
您将有信心,无论何时老板、董事会主席、QA、客户或您的配偶来办公室访问,您都可以毫不犹豫地向他们展示最新版本的软件。您的项目将始终处于准备运行的稳定状态。
- 仅在准备好时共享代码:永远不要签入尚未准备好供他人使用的代码。故意签入未编译或未通过单元测试的代码应被视为犯罪项目疏忽行为。
- 早期集成,经常集成:代码集成是风险的主要来源。为了降低这种风险,请尽早开始集成并继续定期进行。
- 从一开始就自动部署您的应用程序:大多数开发人员倾向于忽略部署问题,直到项目结束。结果是,他们经常在部署时缺少依赖组件、缺少图像文件和不正确的目录结构。因此,尽早自动化部署。
使用该部署在具有不同配置的任意机器上安装应用程序以测试依赖项。 QA 应该测试部署以及您的应用程序。安装和/或部署您的产品应该简单、可靠且可重复。
参考:书 – “敏捷开发人员的实践”。
本文最初由作者在LinkedIn上发表: