CodeGym /Java 博客 /随机的 /个人经验证明的 10 种改进代码的方法
John Squirrels
第 41 级
San Francisco

个人经验证明的 10 种改进代码的方法

已在 随机的 群组中发布
CodeGym 社区的大家好! 个人经验证明的 10 种改进代码的方法 - 1今天我们要谈谈代码质量。是的,亲爱的朋友们。没有人是完美的。每个人都在某个时候意识到代码可能会更好……但是在这种情况下该怎么办?至少,开始研究这个问题。但是你已经来了,这意味着这个话题一定让你感兴趣,所以我们走吧。今天,我们将介绍使代码更好、更简洁的方法。这样你以后就不会为你现在的代码感到羞耻了!:) 所有这些方法都将帮助程序员成为一名优秀的程序员。个人经验证明的 10 种改进代码的方法 - 2

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

如果你想显着提高你的编程技能,你需要……阅读其他程序员编写的代码。信不信由你。但如果你愿意冒险,我保证:你会因为所花的时间而得到回报。例如,不要在 medium.com 上阅读有关 HashMap、ArrayList、LinkedList 等如何工作的内容。相反,阅读他们的源代码并自己弄清楚。这是要阅读的课程列表:
  • 面试中被问的最多的就是HashMap。你可以用一块石头杀死两只鸟:你将理解代码并获得你需要的知识。
  • ArrayList 也是如此。没有什么复杂的,但是源代码确实值得阅读和理解。
  • 字符串就是一个很好的例子。理解为什么它是不可变的。
  • AtomicInteger 是一个很酷的类:它定义了对 Integer 对象的原子操作。
  • 在那之后,好吧,我们可以一个接一个地列出每个类 :)
更严重的是,您应该阅读 Pivotal 的代码。那里的人们编写了 Java 世界中最受欢迎的生态系统。他们的代码绝对值得一读。我建议您从Spring Core开始。阅读不熟悉的源代码是一项艰巨但有益的工作。:)

2.遵循代码约定

个人经验证明的 10 种改进代码的方法 - 3编码约定是由开发团队创建的一组指南。它们包括代码各个方面的编码风格和技术指南。这些约定可能是为整个公司或特定项目编写的。编码约定通常特定于每种编程语言,涵盖文件组织、缩进、注释、声明、运算符、空格、命名约定、编程技术和原则、编程规则、体系结构的最佳实践等。某些标准的主要好处是代码看起来相同并且以相同的风格编写。这使它更具可读性,并帮助程序员理解另一个程序员编写的代码。如果在整个开发过程中始终遵循和应用编码标准,将来维护和扩展代码、重构代码以及解决集成冲突会更容易。编码约定对程序员很重要,原因有很多:
  • 软件成本的 40-80% 用于维护,
  • 几乎没有任何软件在其整个生命周期内由其作者维护,
  • 编码约定通过允许程序员更快地理解新代码来提高源代码的可读性。
老实说,我是编码标准的忠实拥护者。对我来说,花时间讨论和争论它们是有意义的,因为这是一项有价值的活动,可以在未来节省你的时间和精力。应经常审查代码约定。规则可以从“必需”更改为“可选”,反之亦然。如果其中一些没有按预期工作,则应对其进行修改或从指南中删除。

3.使用代码审查

代码审查是代码改进最强大的工具之一。个人经验证明的 10 种改进代码的方法 - 4为什么?因为代码会被那些没有写代码的专家看。焕然一新非常有用。代码审查通常有助于防止编写出彻头彻尾的糟糕代码。我知道代码审查并不总是可行的,因为你需要找到另一个愿意做代码审查的人。但这并不意味着您应该跳过使用此工具。恰恰相反:代码审查是找到志同道合的人的一个理由,他们也需要提高他们的代码质量。顺便说一句,谁会阻止您在 CodeGym 上找到它们?在一个人人都想成为程序员的地方。

4.编写单元测试

我最喜欢的改进代码的技术肯定是编写单元测试。你写的越多越好。在计算机编程中,单元测试是一种软件开发过程,其中最小的可测试源代码片段(称为单元)被单独和独立地测试,以查看它是否按预期工作。这将帮助您在发布代码之前发现算法和/或逻辑中的故障。由于单元测试要求您的代码结构合理,因此必须将代码拆分为更小、更集中的功能。每个负责对数据集的单个操作,而不是执行多个不同操作的大型函数(单一责任原则打个招呼...)。编写经过良好测试的代码的第二个好处是,您可以避免在对现有功能进行小的更改时破坏代码。当单元测试失败时,他们会告诉你有些地方写错了。乍一看,编写单元测试所花费的开发时间似乎是一项额外的成本。但是,单元测试将节省将来调试的时间。这应该是一个循序渐进的过程。因此,让我们微笑着更进一步——我们将为每个方法和类编写测试 :D

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

没有从未犯过错误的开发人员。通常,编译器会捕获语法和算术问题并显示堆栈跟踪。但有些问题可能仍然会浮出水面,编译器没有捕捉到。例如,未正确实现的需求、不正确的算法、不正确的结构代码,或者社区从经验中了解到的一些其他潜在问题。捕获此类错误的唯一方法是请更高级的开发人员检查您的代码,对吗?但这种方法不是万能的,不会有太大的改变。对于团队中的每个新开发人员,您都应该多一双眼睛来审视他/她的代码。幸运的是,有许多工具可以帮助您控制代码的质量。我在各种项目的工作中使用过 Checkstyle、PMD、FindBugs 和 SonarQube。还有其他人。它们通常都用于分析代码质量并生成一些有用的报告。这些报告通常由 Jenkins 等持续集成服务器发布。

6. 编写简单明了的代码

个人经验证明的 10 种改进代码的方法 - 5始终编​​写简单、易于理解且合乎逻辑的代码。人们倾向于编写复杂的代码以证明他们可以做到。简单而合乎逻辑的代码总是能很好地工作,导致更少的问题,并且更具可扩展性。好的代码是最好的文档。如果你想添加注释,问问自己:“我怎样才能改进代码,这样就不需要这个注释了?” — 史蒂夫·麦康奈尔。

7.阅读文档

个人经验证明的 10 种改进代码的方法 - 6优秀程序员最重要的习惯之一就是阅读大量文档。无论是规范、JSR、API 文档、教程还是其他内容,阅读文档都可以帮助您为最佳编程打下坚实的基础。最后但同样重要的是,不要将自己与他人进行比较。将自己与他人比较只会导致负面情绪和不健康的竞争。每个人都有自己的长处和短处。这意味着了解他们并与他们一起工作很重要。盘点你自己——列出你的长处并努力。编程是一种真正的乐趣:享受它。

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

艾伦·玻璃市

8.关注有趣的博主

世界各地数以千计的爱好者使用相同的技术并撰写有关这些技术的文章。博客往往是程序员自己写的,大多是分享个人的观点和经验。通过博客,您可以看到对同一技术的不同看法。您可以在博客上看到好技术和坏技术。至少,阅读 Coding Dojo 博客和 CodeGym 上的文章 :) 关注好的博客并对帖子发表评论,分享您的意见。

9. 阅读有关职业的书籍

没有什么能代替一本好书。一本好书以更简单的形式教授基本概念,并适用于现实世界中的事物。他们的作者本身就是伟大的程序员。通过读书,你可以从别人的经验中学习。我建议您阅读 Joshua Bloch 的“Effective Java”。本书为程序员提供了 78 条不可或缺的经验法则:针对您每天面临的编程问题的最佳工作解决方案。它包含编写有效、设计良好的程序的最实用、最权威的指南。如果您刚刚开始接触 Java,没有编程经验,可以阅读《Sams 24 小时自学 Java 2》。对于编写干净的代码,有一本由 Robert Martin 撰写的优秀书籍“Clean Code”。看完之后,

10.代码!代码!代码!

你不能仅仅通过背书来成为一名优秀的程序员。谈理论概念很容易。但是您只能在编写代码时了解语言的局限性或找出最佳实践。因此,要成为一名优秀的程序员,你需要编写大量的代码。如果您是初学者,请从为斐波那契数列、回文、帕斯卡三角等简单任务编写程序开始。然后转向更大的任务,例如二叉搜索树等。如果您正在寻找练习 Java 的在线平台程序,看看Coding Ground。按照你的方式完成编程课程,我保证你的技能会更好。另一种选择是参加免费的哈佛 CS50 课程。

让我们总结一下

不犯错误的人是什么都不做的人。这就是为什么我们要培养耐心,并像一只勤劳的蚱蜢一样磨练我们的编码技能。为此,请不要忘记:
  • 阅读别人的代码
  • 提供并要求进行代码审查
  • 编写单元测试
  • 使用工具改进代码
  • 编写简单易懂的代码
  • 阅读那些可以的人编写的文档
  • 关注有趣的程序员
  • 阅读有关职业的书籍
  • 代码!代码!代码!
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION