译者的序言: 读完这篇文章后,你可能会感到惊讶,甚至愤怒。 是的,我们也很惊讶:据说作者从未听说过团队中的等级制度,也从未听说过将任务设置为“快速执行,无需推理”。 是的,没错,这是一段有点奇怪的文字。 事实上,作者建议程序员扮演系统架构师的角色——那为什么还需要架构师呢? 但所有这些反对意见不应该让你忽视主要的事情——为什么我们仍然接受并翻译了这篇文章。 他不是在谈论角色。 本文是关于专业方法和意识的。 事实是,只要你只是“按照别人告诉你的去做”而不考虑你的行为的意义,你永远不会成为一名伟大的程序员。
对不必要的代码说不。 您所要做的就是将三个字母放在一起并说出这个词。 让我们一起尝试这样做:“不!”
可是等等。 我们为什么要这样做呢? 毕竟,程序员的主要任务就是写代码。 但是您需要编写要求您编写的代码吗? 不! “了解何时不编写代码可能是程序员最重要的技能。”
我们提醒: 对于“Habr”的所有读者 - 使用“Habr”促销代码注册任何 Skillbox 课程可享受 10 卢布的折扣。
技能箱推荐: 实践课程
“移动开发者专业版” .
编程是解决问题的艺术。 你们是这门艺术的大师。
有时,为了尽快开始工作,我们只想完成手头的任务。 这可能会导致更严重的问题。
程序员对什么视而不见?
您编写的所有代码必须能够被其他开发人员理解,并且必须经过测试和调试。
但有一个问题:无论你写什么,它都会使你的软件变得复杂,并可能在将来引入错误。
根据里奇·斯克伦特的说法,
“代码很糟糕,因为它开始腐烂并且需要不断维护。 添加新功能通常需要修改旧代码。 它越大,发生错误的可能性就越大,编译所需的时间也就越长。 另一位开发人员需要更多时间才能弄清楚。 而如果需要重构,那么肯定会有值得改变的片段。 大型代码通常意味着项目的灵活性和功能性降低。 简单而优雅的解决方案比复杂的代码更快。”
你怎么知道什么时候不写代码?
问题在于程序员经常夸大其应用程序所需的功能数量。 结果,许多代码部分仍未完成或没有人使用它们,但它们使应用程序变得复杂。
您必须清楚地了解您的项目需要什么,不需要什么。
一个示例是仅解决一项任务的应用程序 - 管理电子邮件。 为此,引入了两个功能 - 发送和接收信件。 您不应该期望邮件管理器同时成为任务管理器。
您需要坚决对添加与应用程序主要任务无关的功能的提议说“不”。 这正是明确不需要额外代码的时刻。
永远不要失去应用程序的焦点。
永远问自己:
— 现在应该实现什么功能?
— 我应该写什么代码?
质疑脑海中浮现的想法并评估来自外部的建议。 否则,额外的代码可能会毁掉项目。
知道何时不添加不必要的东西将有助于您严格控制代码库。
在路径的最开始,程序员只有两三个源文件。 这很简单。 编译和启动应用程序需要最少的时间; 去哪里寻找什么、寻找什么总是很清楚的。
随着应用程序的扩展,出现越来越多的代码文件。 它们填满了目录,每行都有数百行。 为了正确组织所有这些,您必须创建其他目录。 与此同时,记住哪些功能负责什么以及哪些操作导致它们变得越来越困难; 捕获 bug 也需要更多时间。 项目管理也变得越来越复杂;需要多个开发人员来跟踪所有事情,而不是一个人。 因此,金钱和时间成本都会增加,开发过程也会减慢。
该项目最终会变得庞大,添加每个新功能都需要付出越来越多的努力。 即使是一些非常微不足道的事情,你也必须花费几个小时。 纠正现有错误会导致新错误的出现,并且会错过应用程序发布的最后期限。
现在我们必须为项目的生命力而奋斗。 为什么?
事实是,您根本不明白什么时候不应该添加额外的代码,并对每个建议和想法都回答“是”。 你是盲目的,创造新事物的欲望让你忽视了重要的事实。
听起来像恐怖电影剧本,对吧?
如果你一直说“是”,就会发生这样的情况。 尝试了解何时不应添加代码。 从项目中删除不必要的东西 - 这将使您的生活变得更加轻松并延长应用程序的寿命。
“我最有成效的日子之一是删除 1000 行代码的时候。”
——肯·汤普森。
学习何时不写代码是很困难的。 但这是必要的。
是的,我知道你刚刚踏上开发者的道路,想要写代码。 很好,不要失去第一印象,但不要因为热情而忽视重要因素。 我们通过反复试验认识到了一切。 你也会犯错误并从中学习。 但如果你能从上面的事情中吸取教训,你的工作就会变得更加自觉。
继续创造,但知道何时说不。
技能箱推荐:
- 应用在线课程
《Python数据分析师》 .- 在线课程
《职业前端开发人员》 .- 实践年课程
《PHP 开发者从 0 到 PRO》 .
来源: habr.com