• 请不要在回答技术问题时复制粘贴 AI 生成的内容
niuer
V2EX  ›  程序员

在你心目中,需要具备哪些条件的代码才是好代码?

  •  1
     
  •   niuer · Mar 6, 2015 · 4785 views
    This topic created in 4269 days ago, the information mentioned may be changed or developed.

    你如何评估两个模块代码的优劣?请列出你认为重要且可测量的参数,并尝试构造一个函数来描述你对代码优劣评估的经验公式。根据这个公式,请举例说明哪些形态的代码是代码臭味的典型(请结合自身过去经验中的例子)。

    17 replies  •  2015-03-07 02:54:41 +08:00
    akira
    akira
    Mar 6, 2015
    1
    能实现功能需求 并且能一眼看懂的代码就是好代码
    alexapollo
    alexapollo
    Mar 6, 2015
    2
    臭代码:看上去第一眼就有个感觉:这段代码是不是做过混淆?
    NewYear
    NewYear
    Mar 6, 2015
    3
    注释:欢迎niuer光临!niuer是最帅的
    mengzhuo
    mengzhuo
    Mar 6, 2015
    4
    简单
    易读
    结构清晰
    命名准确
    参见:代码大全╮(╯▽╰)╭
    jybox
    jybox
    Mar 6, 2015❤️1
    5
    按顺序:

    功能性:如果不能实现功能要这代码何用?
    正确性:是否正确地处理了边界数据,是否考虑到了异常情况
    可维护性:是否给所有标识符起了一个恰当的名字,是否有过长或意义不明的函数,注释是否是必要的且反应了代码的最新情况
    可拓展性:在多大程度上考虑了需求在未来可能做的变更
    可测试性:是否能够简单地进行手工测试和自动测试,是否和其他模块有强依赖关系导致很难单独测试
    Septembers
    Septembers
    Mar 6, 2015
    6
    架构层次清晰
    分类清晰
    语意明确
    Tink
    Tink
    Mar 6, 2015 via iPhone
    7
    功能完整,简单易懂。
    msg7086
    msg7086
    Mar 6, 2015
    8
    能 赚 钱
    spacewander
    spacewander
    Mar 6, 2015
    9
    通过函数名和变量名可以猜它们的用途,而且在大多数情况下都能猜对。
    joyeblue
    joyeblue
    Mar 6, 2015
    10
    臭代码:
    1. 一段功能相似或者相同的代码到处拷贝
    2. 代码中充斥着魔数
    3. 无日志或者日志未充分打印相关信息(仅针对后台)
    4. 变量函数命名随意
    5. 代码格式差(参考google c++编程规范)
    6. 代码逻辑混乱
    7. 长函数 (一个函数可达1k行)
    8. 大文件 (一个文件可达2w行)

    好代码:
    1. 代码即注释
    2. 逻辑简单
    3. 层次分明
    4. 可维护性高
    momo5269
    momo5269
    Mar 6, 2015
    11
    看得懂 结构清晰 扩展性强
    zhishihei
    zhishihei
    Mar 6, 2015
    12
    赚到钱的,或赚到用户的。毫无疑问。
    mcfog
    mcfog
    Mar 7, 2015
    13
    谁都看得懂,而且很容易迅速定位到一块逻辑
    谁来加功能改功能得到的结果都差不多
    和需求文档神似
    lint
    SmiteChow
    SmiteChow
    Mar 7, 2015
    14
    就三条
    1.变量名不能是汉语拼音
    2.对齐
    3.注释
    monkeylyf
    monkeylyf
    Mar 7, 2015
    15
    readability/extendibility/clean APIs if any
    KentY
    KentY
    Mar 7, 2015 via Android
    16
    思路巧妙的实现让我觉得赏心悦目
    randyzhao
    randyzhao
    Mar 7, 2015
    17
    我比较讨厌的
    1. 变量名: 同段代码里存在两个相似的变量名 > 错误意义的英文 > 拼音 > 英文单词拼错 > 有易懂单词, 却用不易懂单词
    2. 上下文都是驼峰命名, 中间突然冒出来一个什么鬼啦??!!
    3. 缩进问题: 规定说用 3 个 space, IDE 编辑器什么的, 能不能抽2分钟设置一下嘛...
    4. "无休止" 的三目套三目套三目... ( 运算符两边还不空格, 堆成一团的, 罪加一等. )
    5. 千行以上的函数.
    6. 简单粗暴的避免大函数, 硬拆函数. 好吧, 每个函数行数是少了, 效率就不管了?
    7. 换行过度: 举个例子, 写 sql, 一行平均 6 ~ 10 个字符, 硬生生写40多行. ( 我屏幕不大, 上上下下这样折腾我, 真的好么... )
    8. 行尾有空格: code review 的时候, reviewboard 会标红, 我看的难受.
    9. 知道建表, 不知道加 index.
    10. 可以一个函数搞定的, 偏偏给你复制成两个.

    嗯, 凑齐10个, 心里好舒服.
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2318 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 80ms · UTC 13:36 · PVG 21:36 · LAX 05:36 · JFK 08:36
    ♥ Do have faith in what you're doing.