代码即文档

作者: 黑猫警长1122 | 来源:发表于2020-10-14 11:29 被阅读0次

昨天参加一个外企架构师面试,面试官在美国,在整个面试过程中有几个问题印象比较深刻

怎么保证代码质量

我的回答:

  1. 清晰的注释,保证每一小段代码都能通过注释迅速了解实现内容和方法
  2. 活用设计模式,将代码用更优雅的方式呈现出来,例如大量if-else用策略模式优化
  3. 遵循设计原则,降低代码侵入,依赖反转降低耦合,
  4. codereview
    追问:大量的注释会不会导致在代码修改的时候需要修改两次:注释和代码
    听到这个问题我是挺惊讶的,架构师面试很少遇到面试官会这么一针见血的提出这种似乎很接地气的问题,其实开发中确实有这样的体会,注释写的越清晰也修改工作量也更大。在我日常工作中一般是做增量更新,对已有的实现如果不是BUG,都不会轻易修改,新增接口会以版本形式做赠两个更新。
    追问:有没有考虑过把代码写的像注释
    我没有回答上来,确实没有思考过这样的问题。现在回想起来,其实这个问题一直就在身边,还有现成的解决方案:springboot
    springboot的配置就是让代码即文档的一种诠释:当我们需要引入一些功能的时候,只要引入相应的包,然后在yml中做简单的配置,就可以获得这些新功能。
    又例如SPI,将代码实例对象从代码中抽取出来,在配置文件中指定实例对象。
    无论是yml、SPI,当我们都是在面向配置编程,配置文件的属性命名往往就诠释了实现逻辑和作用

总结:代码即文档,唯一能体现实现细节的只有代码,通过接口编程+面向配置编程,配合良好的方法命名、配置属性命名,让功能作用和实现细节在命名和配置上暴露出来,会比大量使用注释来的更好。或许还有一个主要问题在于,我都是用中文写注释,而面试官母语是英语,所以在命名上的理解更深刻吧

相关文章

  • 代码即文档

    昨天参加一个外企架构师面试,面试官在美国,在整个面试过程中有几个问题印象比较深刻 怎么保证代码质量 我的回答: 清...

  • # 前端 Vue 开发规范

    规范目的 为提高团队协作效率便于后期优化维护输出高质量的文档(讨论即文档、注释即文档、代码即文档) 一 命名 1 ...

  • 解决方案架构:文档即代码

    利用您的 DevOps 工具链将文档转化为有价值的信息来源 您多久处理一次很快就会过时的文档?一旦设计或文档被基线...

  • Jenkins 插件文档即代码:将文档迁移到 GitHub

    本文首发于:Jenkins 中文社区 原文链接作者:oleg_nenashev 译者:Donghui Wang 在...

  • 文档代码同源

    文档代码同源,故名思意,就是文档和代码都写在源代码文件里。这样可以: 1、修改代码的时候就及时修改文档,使得文档和...

  • meta标签的作用

    在网页的HTML源代码中一个重要的代码“”(即通常所说的META标签)。META标签用来描述一个HTML网页文档的...

  • 写出好的代码

    什么是优秀代码 优秀的代码就越应该让人容易读懂。即逻辑清晰、简单,使用的方法是大家常用的、类似官方文档的。 如何写...

  • 关于React组件规范化的一些建议——UI组件篇

    一个良好的代码规范,不仅能提升web性能,提高团队协作,还便于后期维护,拓展。“代码即文档”是我们对规范的一个愿景...

  • V语言学习笔记-24文档生成

    文档生成 从源代码备注生成文档 生成文档:

  • 2.2

    整理好交付的代码、设计文档、测试文档 继续读论文 继续GMM原理+代码

网友评论

    本文标题:代码即文档

    本文链接:https://www.haomeiwen.com/subject/icwipktx.html