JavaRush /Java 博客 /Random-ZH /改进代码的 10 种方法,经过个人经验测试
Roman Beekeeper
第 35 级

改进代码的 10 种方法,经过个人经验测试

已在 Random-ZH 群组中发布
大家好,JavaRush 社区! 改进代码的 10 种方法,根据个人经验进行测试 - 1 今天我们来谈谈代码质量。是的,是的,亲爱的朋友们。没有人是完美的。总有一天,每个人都会认识到代码可以做得更好……但是在这种情况下该怎么办呢?至少,开始研究这个问题。既然你来了,就说明你对这个话题感兴趣,那我们走吧。今天我们将介绍如何使代码变得更好、更简洁。这样将来你就不会为你当前的代码感到羞耻了!..))所有这些方法将帮助程序员成为一名优秀的程序员。

1.如果你想改进你的代码,请阅读别人的代码

改进代码的 10 种方法,根据个人经验进行测试 - 2如果你想显着提高你的编程技能,你需要……阅读其他程序员编写的代码。你可以相信它,你也可以不相信它。但如果你愿意冒险,我保证你的时间将会得到回报。例如,不要阅读 Habré 上的 HashMap、ArrayList、LinkedList 等如何工作,而是阅读它们的代码并自己弄清楚。以下是要阅读的课程列表:
  1. HashMap是面试中最常被问到的问题。一石二鸟:理解代码并获得必要的知识。

  2. ArrayList 与 HashMap 的情况相同。里面没有复杂的东西,但确实值得阅读和理解。

  3. 字符串就是一个很好的例子。理解为什么它是不可变的。

  4. AtomicInteger 是一个很酷的类:它描述了如何以原子方式对 Integer 对象执行操作的过程。

  5. 然后 - 至少连续所有课程......)

如果我们谈论更严肃的事情,当然值得阅读 Pivotal 的代码。这些人编写了 Java 世界中最受欢迎的生态系统。他们的代码绝对值得一读。因此,我建议你从Spring Core开始。阅读不熟悉的源代码是一项具有挑战性但非常有益的工作。)

2.遵循Code Conventions——编写代码的约定

改进代码的 10 种方法,根据个人经验进行测试 - 3编码约定是由开发团队开发的一组指南,其中包括公司或特定项目中编写的代码各个方面的编程风格和技术指南。这些约定通常特定于每种编程语言,涵盖文件组织、缩进、注释、声明、运算符、空格、命名约定、编程技术和原则、编程规则、架构最佳实践等。某些标准的主要好处是代码看起来相同并且以相同的风格编写。这使其更具可读性,并帮助程序员理解其他程序员编写的代码。如果在整个开发过程中遵循并一致应用编码标准,那么将来维护和扩展代码、重构代码以及解决集成冲突将变得更加容易。编码约定对程序员很重要,原因有很多:
  • 软件成本的40%-80%花费在其维护上;
  • 作者一生几乎没有维护过任何软件;
  • 代码约定提高了软件的可读性,使程序员能够更快地理解新代码。
老实说,我是编码标准的忠实粉丝。对我来说,花时间讨论和争论它们是有意义的,因为这是一项有价值的活动,可以在未来节省您的时间和精力。应经常审查代码约定。规则可以从“强制性”翻译为“可选”,反之亦然。如果其中一些不能正常工作,则需要重新设计或从指南中删除它们。

3.使用Code Review——由其他人进行代码审查

代码审查是改进代码最强大的工具之一。 改进代码的 10 种方法,根据个人经验进行测试 - 4为什么?因为代码会被那些没有编写代码的专家查看。新鲜的外观非常有用。通常,代码审查有助于防止编写出非常糟糕的代码。我知道这并不总是可能的,因为你需要找到另一个愿意这样做的人。但这并不意味着这个工具不值得使用。恰恰相反:这是寻找志同道合的人的原因,对于他们来说,提高代码质量也很重要。顺便说一句,谁禁止您在 JavaRush 上找到它们?在一个人人都想成为程序员的地方。

4. 编写单元测试——单元测试

改进代码的 10 种方法,根据个人经验进行测试 - 5到目前为止,我最喜欢的改进代码的方法是编写单元测试。而且,写得越多越好。在计算机编程中,单元测试是一种软件开发过程,其中源代码的最小可测试部分(称为单元)被单独、独立地测试,以检查它们是否按预期工作。这将帮助您在发布代码之前识别算法和/或逻辑中的故障。由于单元测试需要适当的代码结构,这意味着代码必须分为更小、更集中的功能。每个函数负责对一组数据进行单个操作,而不是执行多个不同操作的大型函数。(正如他们所说,来自单一职责原则的你好……)编写经过良好测试的代码的第二个好处是您可以防止未来因对现有代码破解功能进行微小更改而出现故障。当发生故障时,单元测试会告诉您某些内容编写不正确。乍一看,在开发过程中花时间编写单元测试似乎是一项额外费用。不过,这会节省将来必须花在调试上的时间。这应该是一个循序渐进的过程。因此,继续为所有方法和类编写测试:D

5. 使用工具提高代码质量

改进代码的 10 种方法,根据个人经验进行测试 - 6没有哪个开发人员永远不会犯错误。通常,编译器会捕获语法和算术问题并输出堆栈跟踪。但仍然可能存在一些编译器无法捕获的问题。例如,需求实现不当、算法不正确、代码结构不正确,或者社区根据经验已知的一些潜在问题。捕获此类错误的唯一方法是请一些高级开发人员检查您的代码。这种方法并不是万能的,而且变化不大。对于团队中的每一位新开发人员,您都应该有一双额外的眼睛来审视他/她的代码。但幸运的是,有很多工具可以帮助您控制代码质量。我在各种项目的工作中使用了 Checkstyle、PMD、FindBugs、SonarQube。还有其他人。所有这些都通常用于质量分析和生成一些有用的报告。这些报告通常由 Jenkins 等持续集成服务器发布。

6.编写简单清晰的代码

改进代码的 10 种方法,根据个人经验进行测试 - 7始终编​​写简单、清晰且符合逻辑的代码。人们倾向于编写复杂的代码来证明他们的能力。简单但合乎逻辑的代码总是可以很好地工作,导致问题更少,并且更具可扩展性。好的代码意味着更好的文档。如果您正在考虑添加注释,请问问自己:“我如何改进代码以便不需要此注释?“~史蒂夫·麦康奈尔。

7.阅读文档

改进代码的 10 种方法,根据个人经验进行测试 - 8优秀程序员的重要习惯之一就是阅读大量文档。让它成为规范、JSR、API 文档、教程等。阅读文档可以帮助您打下坚实的基础,从而实现最佳编程。最后但并非最不重要的一点是,不要将自己与他人比较,与他人比较只会导致负面情绪和不良性竞争。每个人都有自己的优点和缺点。因此,了解他们并与他们合作非常重要。分析自己,列出自己的优势并努力发挥它们。编程真的很有趣:享受它。

“一个人的常数就是另一个人的变量。”

艾伦·玻璃市

8.关注有趣的博主

改进代码的 10 种方法,根据个人经验进行测试 - 9世界各地有成千上万的爱好者正在研究和撰写相同的技术。博客通常是程序员自己撰写的,其中大多数分享个人观点和经验。您可以在博客上看到同一技术的不同观点。您可以在博客上看到好的和坏的技术。至少,阅读Habré JavaRush :D 上的文章,包括我的文章。关注好的博客并评论帖子,分享您的意见。

9.阅读专业书籍

改进代码的 10 种方法,根据个人经验进行测试 - 10没有什么可以取代一本好书。一本好书将以更简单的方式教授基本概念并应用于现实世界的对象。他们的作者本身就是伟大的程序员。通过读书,你可以学习别人的经验。我建议阅读《Java. 约书亚·布洛赫(Joshua Bloch)的《有效编程》。本书提出了七十八条不可替代的程序员经验法则:针对您每天面临的编程问题的有效、最佳解决方案。它包含最实用、最权威的指南,可用于编写有效、设计良好的程序。如果您刚刚开始接触 Java,没有任何编程经验,您可以阅读《Sams Teach Yourself Java 2 in 24 Hours》一书。对于编写干净的代码,有一本很棒的书“Robert Martin 的《Clean Code》”。之后,就会出现与代码相关的“美感”。

10. 代码!代码!代码!

仅靠背书并不能成为一名优秀的程序员。 改进代码的 10 种方法,根据个人经验进行测试 - 11谈论理论概念很容易。但只有在编写代码时才能了解语言限制或开发最佳实践。因此,要成为一名优秀的程序员,你需要编写大量的代码。如果您是初学者,请从编写斐波那契数列、回文、帕斯卡三角形等简单问题的程序开始,然后再转向二叉搜索树等更大的问题。如果您正在寻找练习 Java 程序的在线平台,看看编码地。此外,您可以参加CS50课程,该课程的翻译是由“you Know who”提供给我们的:D

让我们总结一下

什么都不做的人就不会犯错误。因此,我们必须要有耐心,像一个勤奋的日本人一样,磨练我们的编码技能。为此,不要忘记:
  • 阅读别人的代码;
  • 执行并要求进行代码审查;
  • 编写单元测试;
  • 使用工具改进代码;
  • 编写简单易懂的代码;
  • 阅读那些有能力的人的文档;
  • 关注有趣的程序员;
  • 阅读专业书籍;
  • 代码!代码!代码!
  • 在 GitHub 上订阅Roman 。

有用的链接

更多我的文章

评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION