开发人员的主要技能,可以使您的代码变得更好



译者的前言:阅读本文后,您可能会感到惊讶甚至生气。 是的,我们也感到惊讶:据称,作者从未听说过团队中的等级制度,状态为“快速且无理”的任务设置。 是的,就是这样,这有点奇怪。 确实,作者让程序员担当系统架构师的角色-为什么那么您需要架构师? 但是,所有这些反对意见都不应掩盖您的主要思想,尽管如此,我们为何还是采纳并翻译了此文本。 他不是角色。 本文是关于专业方法和意识的。 事实是,尽管您只是“做他们所说的话”而不考虑行为的含义,但您永远不会成为一名优秀的程序员。

对多余的代码说不。 您所要做的就是将三个字母放在一起并说出单词。 让我们一起尝试:“不!”

可是 我们为什么要这样做? 毕竟,程序员的主要任务是编写代码。 但是是否有必要编写您所需的任何代码? 不行 “了解何时不编写代码可能是程序员最重要的技能。” 可读代码的艺术

我们提醒您: 对于所有“ Habr”读者来说,使用“ Habr”促销代码注册任何Skillbox课程时均可享受10,000卢布的折扣。

Skillbox建议:实用课程“ Mobile Developer PRO”

编程是解决问题的艺术。 而且您是这项艺术的大师。
有时,尝试尽快上手,除了完成任务外,我们别无其他。 这可能会导致更严重的问题。

程序员对什么视而不见?

您编写的所有代码都应该被其他开发人员理解,并经过测试和调试。

但是有一个问题:无论您写什么,它都会使您的软件复杂化,并且将来可能会添加错误。

根据Rich Skrent的说法,该准则是我们的敌人 。 这是他写的:
“代码很糟糕,因为它开始腐烂并且需要不断维护。 添加新功能通常需要修改旧代码。 它越大,发生错误的可能性越高,并且编译花费的时间也越多。 另一个开发人员需要更多时间来解决。 而且,如果您需要重构,那么肯定会有一些值得更改的片段。 批量代码通常意味着降低项目的灵活性和功能性。 一个简单而优雅的解决方案比复杂的代码要快。”

如何找出什么时候不应该编写代码?


问题是程序员经常夸大其应用程序需要的功能数量。 结果,代码的许多部分仍然不完整或没有人使用,但是它们使应用程序复杂化。

您必须清楚地知道项目需要什么,不需要什么。

一个示例是仅解决一个任务的应用程序-它管理电子邮件。 为此引入了两个功能-发送和接收字母。 您不应期望邮件管理器会同时成为任务管理器。

您需要对添加与应用程序的主要任务无关的功能的建议坚定地拒绝。 这正是很明显不需要额外代码的时刻。

永远不会使您的应用程序失去重点。

总是问自己:

-现在应该执行什么功能?
-哪些代码值得编写?

对出现的想法提出质疑,并从外部评估建议。 否则,多余的代码可能只会杀死项目。

知道什么时候不应该添加太多内容将使代码库受到严格控制。



在开发过程的最开始,程序员只有两个或三个源文件。 一切都很简单。 编译和运行应用程序需要最少的时间; 始终清楚在哪里寻找什么。

随着应用程序的扩展,越来越多的代码文件出现。 它们填充目录,每行数百行。 为了正确组织所有这些,您将必须创建其他目录。 同时,记住哪些功能负责什么以及它们引起什么动作变得越来越困难。 捕获错误也需要更长的时间。 项目管理变得越来越复杂,不仅是一个,而且需要多个开发人员来跟踪所有事情。 因此,货币成本和临时成本都在增长,并且阻碍了开发过程。

该项目最终变得庞大,添加每个新功能的难度越来越大。 即使对于非常微不足道的东西,您也必须花费几个小时。 更正现有错误会导致新错误的出现,该应用程序的发布日期也会被打乱。

现在,我们必须为项目的生命而战。 怎么了

事实是,您根本不需要了解何时不需要添加额外的代码,并且他们对每个句子和想法都回答“是”。 您是盲人,创造新事物的渴望使您忽略了重要事实。

听起来像是恐怖电影剧本,对吧?

如果您继续说“是”,这正是发生的情况。 尝试了解何时不值得添加代码。 从项目中删除不必要的内容-这将极大地方便您的生活并延长应用程序的寿命。

“我最高效的一天就是删除1000行代码。”
-汤普森(Ken Thompson)。

学会理解何时不需要编写代码是很困难的。 但这是必要的。

是的,我知道您刚刚踏上开发人员之路,并想编写代码。 这很好,不要失去第一印象,但是不要因为热情而忽略重要因素。 我们通过反复试验实现了一切。 您还将犯错并向他们学习。 但是,如果您可以从以上内容中学到教训,您的工作就会变得更有意识。

继续创作,但是知道什么时候拒绝。

Skillbox建议:

Source: https://habr.com/ru/post/zh-CN453178/


All Articles