今天是:

实验室资讯网

如何才能成为程序员中的王者?

实验室资讯网时间:2020-02-12 点击: 百度搜索

【导读】让我们面对现实,每个开发人员都希望个人的技术能力以及团队协同能力可以随着时间的推移不断得到提高。但大多数开发者都会提出的一个重要且关键性的问题:如何才能做到这一点呢?接下来,本文作者以自身的开发经验分享在编程时作为开发者应该牢记的 139 条忠告,以成为更好的程序员。 代码外......
TAG标签: 程序员

如何才能成为程序员中的王者?

让我们面对现实,每个开发人员都希望个人的技术能力以及团队协同能力可以随着时间的推移不断得到提高。但大多数开发者都会提出的一个重要且关键性的问题:如何才能做到这一点呢?接下来,本文作者以自身的开发经验分享在编程时作为开发者应该牢记的 139 条忠告,以成为更好的程序员。

代码外观

关于代码布局的讨论越多,越有可能陷入没有结果的争辩中。众所周知的争论有 TAB 键与空格缩进的争论,以及大括号要不要另起一行的争论等。良好的代码格式不一定是你觉得最漂亮的那个。良好的格式是更易于浏览和阅读的代码格式。良好的代码外观揭示了代码的意图。这不是一项艺术工作。我们需要通过良好的外观避免出现代码错误。不是为了表现我们可以创造漂亮的 ASCII 艺术。虽然我们写的代码是通过计算机执行的,但却要给人类阅读。如果有人想写清晰的风格,那么首先让他弄清楚自己的想法。选择一种布局样式,然后坚持使用这种样式,或采用编码标准或样式指南。如果你正在处理的文件不符合项目其余部分的布局约定,那么请遵循该文件中的布局约定。

命名

良好的命名具有描述性、正确性和惯用性。如果你非常了解命名对象,那么你可以为它起一个好名字。在为变量提供神秘的名称之前,请确保你明白它是什么。避免冗余。冗余表明你没有充分考虑正在创建的东西的名字。无论是类,函数还是变量。1classItemList {2publicintnumberOfItems(){…}3}4// numberOfItems is unnecessarily long, repeating the word Item5// it could be renamed to size or even length

采用你使用的语言中最常用的大写惯例。比如在C#方法中,大写的Console.WriteLine(“Hello World”)确保明明准确无拼写错误。切勿同时修改外观和行为。用不同的版本管理它们的更改。随着获得的经验调整代码外观风格。新手并不能总是保持良好的代码外观,你更应该关注程序的功能。

减少代码量

写的代码多不一定意味着你写了很多软件。这可能只是意味着你写了很多 Bug。代码越多,意味着需要阅读和理解的越多,这会让程序更加难以理解。代码量越大,隐藏 Bug 的地方就越多,追踪 Bug 就会越难。

避免非必要的代码

常见的没有意义的代码包括使用非必要性的条件语句和重复的逻辑构造。混乱的逻辑代表着混乱的思路。

1// example2if (expresion) {3returntrue;4} else {5returnfalse;6}7// which can be refactored to8return expresion;

代码保持明确简洁。避免不必要的冗长语句。它们不会为代码带来任何价值。

复制

不要复制代码段。将它们重构成通用的函数。通过参数表示差异性。如果发现重复代码,请将其删除。

无效代码

无效代码是指永远不会运行,或永远无法访问的代码。要么给代码运行的机会,要么干脆删掉。无效代码的其他表现形式包括:

永远不会给调用的函数;定义的变量永远没有不会被使用;传递给内部方法的参数永远不会被使用;从未使用过的枚举、结构、类或接口。

注释

良好的代码不需要大量注释的支持,也不需要解释它的工作原理。确保每个注释都有添加的价值。代码本身就是工作原理以及方法的最好的说明。注释应该解释为什么——只有代码本身不够清楚的时候。删除代码时不要将其注释掉。这会让读者感到困惑,而且很碍事。每天都让你的代码变得更好。如果找到冗余和重复时,请将它们删除。

通过删除代码来改进系统

添加新代码可以改进系统。你也可以通过删除代码来改进系统。无效代码会在开发过程中积累

应用程序的用户界面的功能已被删除,但是后台的支持代码依然保留了下来。通过向导生成的用户界面代码经常会插入一些永远不会被使用的逻辑。随时随地删除无效代码。这些代码很碍事,会影响你的工作速度。删掉将来可能需要的代码也是安全的。届时你可以从版本控制中恢复。清理代码始终应该和功能改变分开提交。即使最好的代码库也有无效代码 。

警惕过去

在写代码的时候,你觉得它是完美的,但是通过认真审视旧代码,你可以发现所有代码中的陷阱。

回顾旧代码可以帮助你提高编程技术。

如何处置现有的代码库

接管现有的大型代码库是一件很困难的事。你必须迅速开始:

了解从哪里开始查看代码弄清楚代码每个部分的作用以及实现方法衡量代码的质量了解如何操控系统了解代码的惯用语,这样你的修改就可以完全融入找到所有功能的可能位置(以及由此引起的后续bug)了解代码的最佳方式是由知情人士为你讲解。大胆地寻求帮助!学习代码的最佳方法是修改代码。然后从你的错误中吸取教训。许多程序员不是努力阅读和理解现有代码,而是更喜欢说“代码很糟糕”并重写。准备好遭遇很差的代码。准备好得力的工具来处理这些代码。一些惨不忍睹的代码可能只是一个能力较弱的程序员编写的。或者是一个有能力的程序员在心情糟糕的时候写的。遇到很糟糕的代码时,控制好自己的厌恶情绪。你需要寻找实际的方法改进这些代码。不要指望任何代码(甚至是你自己的代码)完美。遵循童子军规则。无论何时遇到代码,确保你离开时的代码更好。缓慢而谨慎地修改代码。一次只改动一个地方。

错误处理

不要忽视代码中可能出现的错误。不要一再推脱错误处理(逃避不是办法)。规规矩矩使用异常。了解语言的惯例和需求,有效地使用异常。程序员必须了解程序错误。用户必须了解使用错误。记录错误还不够好,必须要让勤奋的操作员每天注意到错误并处理好错误。

做好异常准备

每一步都要考虑所有可能发生的不寻常,无论你认为它们出现的几率有多低。时时刻刻都要考虑从错误中恢复,并编写合适的恢复代码。确保你的错误处理是惯用手法,并使用适当的语言机制。在写代码的时候,严密考虑代码的运行分支。不要推迟处理“不寻常”的情况:转头你就忘了,导致代码到处是 Bug。

追踪 Bug

程序员写代码。但程序员不是完美的,所以程序员的代码也不是完美的。因此代码第一次不能正常工作也很正常。所以我们有 Bug。我们应该采用合理的工程技术,量减少令人不快的意外事故。首先调试的难度是写代码的两倍。因此,如果你尽可能巧妙地编写代码,那么显然这对于调试是不明智的。将重现 Bug 的步骤降到最少。确保你只专注于一个问题。断言和日志(即便是简陋的 console.log 和 nodejs 断言)是有效的调试工具。可以经常利用。二进制删除空格的问题可以更快地获得结果。在开发软件时,花点时间写一套单元测试。未经测试的代码是 Bug 的温床。而测试是杀虫剂。了解如何使用调试器。然后在正确的时间内使用。尽快修复 Bug。不要让它们累积成灾。调试并不容易。这是我们的错。我们写了 Bug。

别忘了测试代码

单元测试是专门针对最小“单元”的功能展开的测试,以确保它们可以独立正常运行。这里的独立意味着单元测试不涉及任何外部访问:不运行任何数据库、网络或文件系统操作。

质量是免费的,但只有那些愿意为此付出高昂代价的人才能享有。为了改进软件开发,我们需要快速反馈,以便在出现问题时立即掌握问题。良好的测试策略可以提供快速的反馈回路。在编写代码时编写测试。不要推迟测试,否则测试就不会那么有效了。所有测试都应作为持续集成工具链的一部分在构建服务器上运行。测试应用程序中的重要内容。全局变量和单例对象是可靠测试的噩梦。你无法轻易测试拥有隐藏依赖项的单元。重构代码,提高可测试性,以便获得更好的代码设计。程序测试可以展示 Bug 的存在,但永远无法证明没有 Bug。

如何处理复杂性

简单性是伟大的品质,但需要付诸福利才能实现,人人都应该重视简单性。但糟糕的是:大家更喜欢复杂性。复杂性通常是偶然的,很少有人会故意添加。推迟设计决策,直到你必须做决定的时候。在还不了解需求时,不要做出架构决策。不要猜。

完美的实践

程序员需要良好的品味和美感才能编写出色的代码。任何聪明的傻瓜都会让代码变得更大、更复杂和滥用。我们需要一点天才的力量以及很大的勇气,才能朝着正确的方向前进。良好的软件开发不是牛仔式编程,扔掉第一个你能想到的代码。这是一项需要深思熟虑和朝着正确方向努力的工作。优秀的程序员在工作中很谦虚。他们敢于承认他们并不知道所有的一切。良好的代码和良好的程序员源于以正确的方式编写正确的东西的愿望。

(本文来源:百家号 CSDN)

(责任编辑:子豪)

引用地址:

TAG标签: 程序员
顶一下
(0)
0%
踩一下
(0)
0%
免责声明: 除标明《实验室资讯网》原创外,本网部分文章转载自其它媒体,转载目的在于传递更多信息, 并不代表本网赞同其观点和对其真实性负责,且不承担此类作品侵权行为的直接责任及连带责任。 如其他媒体、网站或个人从本网下载使用,自负版权等法律责任。如涉及作品内容、版权和其它问题, 请在30日内与本网联系,我们将在第一时间删除内容!
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容