• 客户经常会问的一个问题是:如何有效地提升开发团队的水平?你如何让一组从未编写过Python的工程师使其成为高效的Python开发人员?你如何让从未构建过分布式系统的团队可以构建可靠,容错的微服务?让从未有云中构建经验的团队负责构建云软件?有人说培训会提升团队水平,引入一个可以教我们如
  • Switch/case是在大多数命令式编程语言中实现的通用控制结构。Switch被认为比if/else系列更具可读性。这是一个简单的例子: icon
  • Google的代码评审在工程实践中发挥着重要作用,并且早在谷歌就已经采用。直到今天,它们仍然用于保持代码库的清洁,连贯并确保不提交任意代码。尽管代码评审过程与 icon
  • 作为开发人员,我们都知道代码审查在理论上是一件好事。他们应该帮助我们: 尽早发现错误和安全问题 提高代码的可读性 提供安全网以确保所有任务完全完成 现实情况是,代码审查对于每个参与者来说经常是一种令人不舒服的体验,导致审查变得好斗,无效甚至更糟,根本 icon
  • 软件系统是容易的积聚一些累赘cruft  : 内部质量不高,导致其比预想更难进行修改和进一步扩展系统。技术债务是沃德坎宁安(Ward Cunningham)创造的一个比喻,它描述了如何考虑处理这种问题,将其视为金融债务,增加新功能所需的额外成本是债务利息。< icon
  • icon
  • 质量软件取决于许多因素,但开发人员是最重要的因素之一。糟糕的软件往往是我们的错,通过问自己正确的问题,我们也可以为好的软件做出贡献。 这是对的吗? - 代码是否实现了规范。如果没有明确的规范,你是否做了足够的努力来找出预期的行为。并且这种行为是以某种方式测试的 - 最好通过自 icon
  • 在Apache Druid社区,我们目前正在准备一份详细的清单,以便在代码审查期间使用。我决定将清单的一部分作为媒体上的帖子发布,以收集更多关于清单项目的想法。希望有人会发 icon
  • 避免无意义的注释评论,不添加任何价值。如果通过阅读代码可以清楚地看到某些内容,则评论只会增加噪音。 考虑是否可以改进代码,以便不再需要注释。通过改进命名,重构(例如,提取函数)或引入解释变量,通常可以解释解释代码正在做什么以及有时为什么的注释。</ icon
  • 体面编码就是编写更好代码的简明指南,这是一份指南/清单,可帮助人们提高编码和代码审查。 计算机科学中只有两件事:缓存失效和命名 - 菲尔卡尔顿 每个东西都有一个名称,每个名称只用于一件事。使用多个词来表示 icon
  • 今天在看了别人一段VBA程序(对,是VBA,这段时间被迫搞access),然后发觉看起来并不能让人一看就明白,然后自己写了一个,写完后比较了一下,发觉原来别人的代码只用了22行,我则使用了24行。这就开始让我困惑了。在结果一样的前提下到底是要比较清晰的思路呢还是要比较简短富有逻辑的思路呢?当然,我是 icon