11步提高代码质量和整体工作效率

操作方法

  • 01

    这是我作为专业程序员这些年来学到的能真正提高我的代码质量和整体工作效率的11件事情。

  • 02

    1. 永远不要复制代码不惜任何代价避免重复的代码。如果一个常用的代码片段出现在了程序中的几个不同地方,重构它,把它放到一个自己的函数里。重复的代码会导致你的同事 在读你的代码时产生困惑。而重复的代码如果在一个地方修改,在另外一个地方忘记修改,就会产生到处是bug,它还会使你的代码体积变得臃肿。现代的编程语 言提供了很好的方法来解决这些问题,例如,下面这个问题在以前很难解决,而如今使用lambdas却很好实现:/// <summary>/// 一些函数含有部分重复代码/// </summary>void OriginalA(){        DoThingsA();        // unique code        DoThingsB();}/// <summary>/// 另外一个含有部分重复代码的函数/// </summary>void OriginalB(){        DoThingsA();        // 没有重复的代码        DoThingsB();}现在我们重构含有部分相同代码的函数,用delegate模式重写它们:/// <summary>/// Encapsulate shared functionality/// </summary>/// <param name="action">User defined action</param>void UniqueWrapper(Action action){        DoThingsA();        action();        DoThingsB();}/// <summary>/// New implmentation of A/// </summary>void NewA(){        UniqueWrapper(() =>        {                // unique code        });}/// <summary>/// New implementation of B/// </summary>void NewB(){        UniqueWrapper(() =>        {                // unique code        });}

  • 03

    2. 留意你开始分心的时候当你发现自己在浏览facebook或微博、而不是在解决问题,这通常是一种你需要短暂休息的信号。离开办公桌,去喝一杯咖啡,或去跟同事聊5分钟。尽管这样做看起来有点反直觉,但长久去看,它会提高你的工作效率。

  • 04

    3. 不要匆忙赶任务而放弃原则当带着压力去解决一个问题或修改一个bug,你很容易失去自制,发现自己匆匆忙忙,甚至完全忘了一直坚持的重要的测试过程。这通常会导致更多的问题,会让你在老板或同事眼里显得很不专业。

  • 05

    4. 测试你完成的代码你知道你的代码能做什么,而且试了一下,它确实好用,但你实际上需要充分的验证它。分析所有可能的边界情况,测试在所有可能的条件下它都能如期的工作。如果有参数,传递一些预期范围外的值。传递一个null值。如果可能,让同事看看你的代码,问他们能否弄坏它。单元测试是到达这种目的的常规方法。

  • 06

    5. 代码审查提交你的代码之前,找个同事一起坐下来,向他解释你做了哪些修改。通常,这样做的过程中你就能发现代码中的错误,而不需要同事说一句话。这比自己审查自己的代码要有效的多得多。

  • 07

    6. 让代码更少如果你发现写了大量的代码来解决一个简单的问题,你很可能做错了。下面的boolean用法是一个很好的例子:if (numMines > 0) { enabled=true; } else { enabled=false; }这时你应该写成这样:enabled = numMines > 0;代码越少越好。这会使bug更少,重构可能性更小,出错的几率更小。要适度。可读性同等重要,你可不能这样做而使代码丧失可读性。

  • 08

    7. 为优雅的代码而努力优雅的代码非常的易读,只用手边很少的代码、让机器做很少的运算就能解决问题。在各种环境中都做到代码优雅是很难的,但经过一段时间的编程,你会对 优雅的代码是个什么样子有个初步的感觉。优雅的代码不会通过重构来获得。当你看到优雅的代码是会很高兴。你会为它自豪。例如,下面就是一个我认为是优雅的 方式来计算多边形面积的方法:static public double GetConvexPolygonArea(Vector2[] vertices){        double area = 0;        for (int i = 0; i < vertices.Length; i++)        {                Vector2 P0 = vertices[i];                Vector2 P1 = vertices[(i + 1) % vertices.Length];                area += P0.Wedge(P1);        }        return area / 2;}

  • 09

    8. 编写不言自明的代码勿庸置疑,注释是编程中很重要的一部分,但能够不言自明的代码跟胜一筹,因为它能让你在看代码时就能理解它。函数名变量名要慎重选择,好的变量/方法名字放到语言语义环境中时,不懂编程的人都能看懂。例如:void DamagePlayer(Player player, int damageAmount){        if (!player.m_IsInvincible && !player.m_IsDead)        {                player.InflictDamage( damageAmount );        }}能自我说明的代码不能代替注释。注释是用来解释“为什么”的,而自我说明的代码是来描述“是什么”的。

  • 10

    9. 不要使用纯数字直接把数字嵌入代码中是一种恶习,因为无法说明它们是代表什么的。当有重复时更糟糕——相同的数字在代码的多个地方出现。如果只修改了一个,而忘记了其它的。这就导致bug。一定要用一个命名常量来代表你要表达的数字,即使它在代码里只出现一次。

  • 11

    10. 不要做手工劳动当做一系列动作时,人类总是喜欢犯错误。如果你在做部署工作,并且不是一步能完成的,那你就是在做错事。尽量的让工作能自动化的完成,减少人为错误。当做工作量很大的任务时,这尤其重要。

  • 12

    11. 避免过早优化当你要去优化一个已经好用的功能代码时,你很有可能会改坏它。优化只能发生在有性能分析报告指示需要优化的时候,通常是在一个项目开发的最后阶段。性能分析之前的优化活动纯属浪费时间,并且会导致bug出现。

(0)

相关推荐

  • 怎样提高photoshop(ps)工作效率

    作为一个Photoshop用户,你可能会遇到不得不做重复性的任务的情况,如调整图片大小.创建插图或者其他东西.单靠人工完成会非常耗时耗力,值得庆幸的是,有更简单的方法:操作Photoshop的时候软件 ...

  • 提升工作效率必备!设计统筹思维

    统筹思维的运用或许没法彻底解决问题,但至少可以改善问题,让你变得更好. 说到统筹,我们不妨回想下自己每天早上上班的情况:需要在繁忙的人群中排队打卡进入办公区,到达工位后需要打开电脑,需要输入密码,需要 ...

  • 三要素如何提高面试代码质量?

    操作方法 01 程序员在职业生涯中难免要接受编程面试.有些程序员由于平时没有养成良好的编程习惯,在面试时写出的代码质量不高,最终遗憾地与心仪的公司和职位失之交臂.因此,如何在面试时能写出高质量的代码, ...

  • 使用EditPlus技巧,提高工作效率(附英文版.自动完成文件.语法文件下载)

    在使用中,我个人也总结了一些使用经验。可能作为高手的你,看来只是“相当肤浅”,但是没有关系,因为我相信,只要把知识共享出来,总能帮助到一些还在进步中的朋友。下面就让我们来开始配置出符合你自己使用习惯的 ...

  • 傲游十个功能帮你提高工作效率

    读过一篇文章——"10 Google Chrome Extensions for Boosting Your Productivity"(《可以提高你工作效率的十款Chrome浏览器插件》)之后,加深 ...

  • WIN8平板提高工作效率的10大常用快捷键

    所谓快捷键,不言而喻就是可以提高工作效率的快捷操作组合键,放眼望去那些大牌设计师几乎不用鼠标,完全的键盘操作,真可谓键指如飞。那么WIN8平板电脑快捷键有哪些呢。OK,小编整理了下面的稿子,是想成为W ...

  • 提高工作效率:给设计师的10条建议

    这篇文章虽然原本是"写给自由设计师的10条建议",但仔细读下来,发现对于坐班的设计师来说,也很有价值,提高工作效率,收获更好的成果. 这篇文章虽然原本是"写给自由设计师的 ...

  • 几款提高工作效率最好的软件应用

    智能机高度普及的今天,利用好移动办公软件就能大大提高工作效率,加速实现自身价值. 无论是企业即时通讯.时间管理软件.还是成本管理软件--在移动互联网空前发展的今天,只要各位善用手机移动办公,充分整合碎 ...

  • 提高10倍工作效率的PPT技巧

    无论是在学习或工作中,我们经常会需要制作PPT,制作PPT倒也不难,只是过程会花费比较多的时间.懂得使用技巧提高效率是非常必要的,今天分享几个PPT制作技巧,可以大大提高你的工作效率. 操作方法 01 ...