zoukankan      html  css  js  c++  java
  • [转载]编写优秀代码的10个技巧

    作为程序员,写代码是需要一种崇高无上的精神来支撑的,写出优秀的代码,更需要你有深厚的底蕴和良好的编码习惯。在介绍写优秀代码的10个技巧之前,我们先来探讨一下什么样的代码才是优秀的代码。

    • 稳定可靠(Robustness)
    • 可维护且简洁(Maintainable and Simple Code)
    • 高效(Fast)
    • 简短(Small)
    • 共享性(Reusable)
    • 可测试性(Testable)
    • 可移植性(Portable)

    面对以上的目标,我们总结了以下10个写代码的技巧,希望对你有所帮助。

    1、百家之长归我所有

    其实写代码的方式有很多,每个人都有自己的风格,但是众多的风格中总有一些共性的、基本的写代码的风格,如为程序写注释、代码对齐,等等。是不是编程规范?对就是编程规范。

    2、取个好名字

    取个好的函数名、变量名,最好按照一定的规则起名。还是编程规范。

    3、凌波微步,未必摔跤

    这里我用“凌波微步”来形容goto语句。通常,goto语句使程序跳来跳去,不容易读,而且不能优化,但是在某种情况下,goto语句反而可以增强程序的可读性。Just go ahead,not go back。

    4、先发制人,后发制于人

    Defensive Coding指一些可能会出错的情况,如变量的初始化等,要考虑到出现错误情况下的处理策略。测试时要多运行几个线程。有些程序在一个线城下运行是正常 的,但是在多个线程并行运行时就会出现问题;而有些程序在一个CPU运行几个线程是正常的,但是在多个CPU下运行时就会出现问题,因为单CPU运行线程 只是狭义的并行,多CPU一起运行程序,才是真正的并行运算。

    5、见招拆招,滴水不漏

    这里的Error Case(错误情况),是指那些不易重视的错误。如果不对Error Case进行处理,程序在多数情况下不会出错,但是一旦出现异常,程序就会崩溃。

    6、熟习剑法刀术,所向无敌

    用“剑法刀术”来形容一些API是因为它们都是经过了很多优秀开发人员的不断开发、测试,其效率很高,而且简洁易懂,希望大家能掌握它,熟悉它,使用它。是不是象我们的ULIB。

    7、双手互搏,无坚不摧

    这里的测试不是指别人来测试你的代码,而是指自己去测试。因为你是写代码的原作者,对代码的了解最深,别人不可能比你更了解,所以你自己在测试时,可以很好地去测试哪些边界条件,以及一些意向不到的情况。

    8、活用断言

    断言(assertion)是个很好的调试工具和方法,希望大家能多用断言,但是并不是所有的情况下都可以用到断言。有些情况使用断言反而不合适。

    9、草木皆兵,不可大意

    是指在写代码时,要小心一些输入的情况,比如输入文件、TCP的sockets、函数的参数等等,不要认为使用我们的API的用户都知道什么是正确的、什么是错的,也就是说一定要考虑到对外接口的出错处理问题。

    10、最高境界、无招胜有招

    意思就是说尽量避免写太多的代码,写的越多,出错的机会也越多。最好能重用别人开放的接口函数或直接调用别人的api。

    以上10点引用自CSDN黑夜路人的博客,如果你有更棒的建议,欢迎留言告诉大家。

  • 相关阅读:
    leetcode 1301. 最大得分的路径数目
    LeetCode 1306 跳跃游戏 III Jump Game III
    LeetCode 1302. 层数最深叶子节点的和 Deepest Leaves Sum
    LeetCode 1300. 转变数组后最接近目标值的数组和 Sum of Mutated Array Closest to Target
    LeetCode 1299. 将每个元素替换为右侧最大元素 Replace Elements with Greatest Element on Right Side
    acwing 239. 奇偶游戏 并查集
    acwing 238. 银河英雄传说 并查集
    acwing 237程序自动分析 并查集
    算法问题实战策略 MATCHORDER 贪心
    Linux 安装Redis全过程日志
  • 原文地址:https://www.cnblogs.com/gredswsh/p/good-cod-10-tips.html
Copyright © 2011-2022 走看看