您好,欢迎来电子发烧友网! ,新用户?[免费注册]

您的位置:电子发烧友网>源码下载>java源码下载>

写好代码的技巧

大小:0.5 MB 人气: 2017-09-28 需要积分:1

  写好代码的10个技巧2017-09-04 15:18程序设计

  《h2》写好代码的10个技巧《/h2》《blockquote》 《p》原文:《a href=“https://cdiggins.github.io/blog/programming-tips.html”》10 Tips for Writing Better Code《/a》 《br》 作者:Christopher Diggins 《br》 译者:Teixeira10《/p》 《/blockquote》《p》【译者注】在本文中,作者介绍了10个写好代码的建议,以自己切身编写代码的体会和经验来告诉开发者这10个建议的好处,并指导读者成为一个优秀而高效的程序员。 《br》 以下为译文:《/p》《p》那么怎样才可以使代码变得优秀呢?《/p》《p》好的代码可以被认为是易于阅读、理解、调试和修改的,而且最重要的是很少有缺陷。显然,编写良好的代码需要花费更多的时间,但从长期看会有更多的价值,因为维护和重用代码的成本会变的更低。《/p》《p》事实上,我们可以将好代码与可重用的代码等同起来,这是许多技巧背后的统一原则。作为一个开发特定功能的程序员,代码可能会实现你的短期目标,但是如果没有其他人想重用它的话(包括你自己),那么它一定是有缺点的,要么它太复杂,要么太具体,而且很可能在不同的情况下崩溃,从而导致其他程序员不相信这些代码。《/p》《p》我发现,尝试将下列最佳实践应用于你所编写的所有代码(包括你的实验和原型代码),可以让你写出更好的代码,而不用考虑你的经验水平。《/p》《h3》1. 遵循单一责任原则《/h3》《p》在程序员的代码库中,函数是最重要的抽象形式。可以重用的代码越多,编写的代码就越少,它们的可靠性也就越高。遵循《a href=“https://en.wikipedia.org/wiki/Single_responsibility_principle”》单一责任原则《/a》的小功能代码就更有可能被重用。《/p》《h3》2.最小化共享状态《/h3》《p》你应该最小化函数之间的隐式共享状态,无论它是文件作用域变量还是对象的成员字段,都支持显式的值作为参数。当代码明确了该函数需要什么来产生期望的结果时,代码就变得更容易理解和重用。《/p》《p》这种情况下,你应该优先选择静态无状态变量,而不应该选择对象上的成员变量。《/p》《h3》3.本地化的副作用《/h3》《p》理想的副作用(例如:控制台打印、日志记录、改变全局状态、文件系统操作等等)应该放在单独的模块中,而不是分散在整个代码中。功能上的副作用常常违反单一责任原则。《/p》《h3》4. 优先使用不可变对象《/h3》《p》如果一个对象的状态在其构造函数中被设置一次,并且再也不会发生变化,那么调试就变得容易得多了,因为一旦构造正确,它仍然有效。这是减少软件项目复杂性的最简单方法之一。《/p》《h3》5.多用接口少用类《/h3》《p》使用接口(或在C++中使用模板参数或概念)的函数比在类上运行的函数更容易被重用。《/p》《h3》6. 将好的原则应用于模块《/h3》《p》寻找机会,将软件项目分解为更小的模块(例如:库和应用程序),以鼓励模块级的重用。模块的一些关键原则是:《/p》《pre》《code》1.依赖最小化 2.每个项目都应该有一个明确的功能 3.不要重复 《/code》《/pre》《p》你应该努力使你的项目小而明确。《/p》《h3》7. 避免继承《/h3》《p》在面向对象编程中,特别是在虚函数中,继承在可重用性方面往往是一个死死穴。我几乎没有成功地编写或使用那些能覆盖类的库。《/p》《h3》8. 在设计和开发过程中进行测试《/h3》《p》我并不是测试驱动开发的铁杆拥护者,但随着开始编写代码,测试代码会自然而然地遵循许多指导原则。它还可以帮助我们更早地发现很多错误。但是,要避免编写无用的测试代码,良好的编码意味着更高级别的测试(例如:集成测试或单元测试以及功能测试),而且在揭示缺陷方面更有效。《/p》《h3》9.优先选择而不是手写标准库《/h3》《p》我无法告诉你我多久才能见到一个std::vector 或std::string更好的声明,但这几乎总是浪费时间和精力的。除了显而易见的事实,你正在引入一个bug(参见技巧10),其他程序员不太可能重用你的代码,因为这不是那些被广泛理解、支持和测试的代码。《/p》《h3》10. 避免编写新的代码《/h3》《p》这是每个程序员都应该遵循的:“The best code is the code that isn’t written”(最好的代码是不用被复写的代码)。你拥有的代码行数越多,你的缺陷就越多,发现和修复bug的难度就越大。《/p》《p》在编写一行代码之前,问自己,是否有一个工具、函数或库已经完成了你所需要的工作?你真的需要那个功能而不是调用另一个已经存在的函数吗?《/p》《h3》最后《/h3》《p》编程是一种非常类似于学习的一种艺术形式或一种运动的技能,通过用心练习,不断地从别人那里学习,才会编写的更好。不断提高代码质量将有助于你成为一个更高效的程序员

非常好我支持^.^

(0) 0%

不好我反对

(0) 0%

      发表评论

      用户评论
      评价:好评中评差评

      发表评论,获取积分! 请遵守相关规定!