这绝不是详尽无遗的清单,而是我在IT工作了数年之后的主观排名 。希望您发现其中一些有用的
文章插图
以下链接提供了该文章的俄语版本
谢谢吉娜!
1.童子军规则"一定要让营地的清洁剂比您发现的要干净"-这是一个很好的生活准则 。当您靠近营地时,即使不是由您自己造成的,也应使其清洁 。这是侦察兵的规则之一 。编程同样适用 。正如罗伯特·C·马丁(Robert C. Martin)所说:"让代码比发现的要好" 。如果我们发现别人写的一些难以阅读的应用程序,并且花了一些时间来理解,那就让它至少好一点 。如果它不在我们正在处理的任务范围之内,则可以始终创建一个新的小型技术任务,对其进行详细描述并将其带入下一个冲刺 。
此规则的简约版本更像是在公共厕所中唱歌 。我们至少应该至少不恶化它所处的条件 。我们必须记住,有些人有一天会接管我们开发的那部分应用程序,并尝试对其进行修改 。让我们不要让生活更艰难 。
2.考虑问题,而不仅仅是解决方案软件开发人员确实非常擅长实施解决方案 。我们了解语言,模式,库,框架,并了解如何使用它们 。问题在于,从业务的角度来看,我们经常做的事情没有任何意义 。您正在开发的某些功能可能与企业所有者不知道的现有功能重复 。有些可能没有经过深思熟虑,将永远无法发布到下一个版本,或者根本没有用户会使用它们 。那是浪费时间,金钱和挫败感的巨大浪费 。很多人都不想问开发人员他们的意见,只是假设他们的工作就是交付功能 。没有商量 。仅技术工作 。
开发人员每天都在使用该应用程序 。他们知道每个功能,即使没有人使用它 。有时,从业务角度看似乎容易完成的任务需要花费数月的开发时间 。有些似乎几乎不可能的工作要花几天时间 。原因是将要实施一项功能的人员与提出该功能的人员之间缺乏沟通 。两者之间存在巨大差异:
· 为用户的购物车创建永久存储
· 用户应该能够保存他们的购物车,并在移动和Web应用程序上使用它
第一个很简单 。无话可问 。第二个要难一些,因为它使您思考推理,而您将成为提出给定问题的解决方案的人 。关于细节,功能要求,质量属性和其他方面,会有很多问题 。由于您现在不仅是执行者,因此解决方案将更好地解决 。
3.考虑总拥有成本有时会偷工减料,以后跳过测试,留下临时解决方案并承诺稍后进行纠正,这是非常诱人的 。在大多数情况下,如果它不会破裂,您将永远不会 。将有一个新任务,优先级,要实现的功能和要解决的问题 。您将遇到的问题是这样的应用程序可能会损坏 。而且,将很难修复 。
功能的总拥有成本是从开发开始到部署,维护再到终止所花费的金钱和精力的总和 。如果我们在开发过程中采用捷径,那将是最便宜的部分 。您可能发布的速度更快,但是维护会很麻烦,用户会感到不满意,并且总的来说,所有东西都比它应该的贵 。
第一次做就总是更好
4.使用SOLID在编程中,有很多很棒的规则以首字母缩略词形式出现:DRY,KISS,YAGNI,SOLID等 。SOLID是一组规则,可以帮助使代码更整洁并避免常见的陷阱 。
在将代码推送到存储库之前,这可能是一个很棒的清单 。该课程是否支持"单一责任原则"? 可以用同一层次结构中的任何其他类替代该类(是否满足LSP)? 这将有助于过滤掉许多未来问题的来源 。理解并有意识地运用每条规则背后的原因,将使您成为一名更好的程序员,并提高代码审查的质量 。
5.使用设计模式在大多数情况下,您不是第一个尝试解决您面临的问题或实现具有类似要求的功能的人 。已经有成千上万的CRM,CMS,银行系统,聊天室,在线商店,市场以及人们能想到的基本上任何可能的应用程序类型 。您正在开发的系统可能是市场上最好的,或者具有其他人所没有的某些极其先进和独特的功能 。不过,大多数工作在某种程度上都是参考性的 。其他人可能会尝试以多种不同的方式来做到这一点,甚至描述整个过程 。它可以为您省去很多麻烦,并为您提供更好的解决方案 。
四人帮有一本很棒的书,介绍了一些可用于解决常见问题的可重复模式 。它写于1994年,但那些仍然有效和有用 。在软件中,那是古老的时代,但是现在我们在编写代码时面临的问题并没有太大不同 。从那以后,出现了许多新的设计模式 。了解他们可以使您的工作轻松得多 。
推荐阅读
- 可以排毒的茶有哪些,荷叶泡茶的作用有哪些
- goroutine的退出与泄露:如何检测和预防
- 《王者荣耀》连胜封号规则是怎样的?
- Spring Boot+Socket实现与html页面的长连接
- 暹罗猫价格多少钱一只?
- 早安语录正能量的句子有哪些?
- Linux 原来是这么管理内存的
- 小雪天晴一冬的天气会怎么样
- 中国十大名茶最新排名是怎样的?
- java多线程编程的核心——AQS独占模式原理解析