• 什么是复杂性?如何识别?是不是无为就不会造成复杂性?有些复杂性是过早设计带入,但是有些复杂性是因为没有及时识别与意识到,造成更大的复杂性!如同自己绕毛线,绕得越多,自己被扰进去了! 识别到复杂性,然后将其标注为核心子域,集中精兵强干重炮攻击,所以,
  • 我现在需要面试12位工程师,当然我已经了解了传统工程和软件工程的差异,学习了很多知识,但是当我真正进行面试时,遇到障碍,现在暂停面试了,软件与传统工程有什么不同? 1. 工程不是单一的。我们通常将软件与建筑桥梁进行比较,但这只是土木工程与电气,化学
  • Google8号员工和现在的工程高级副总裁UrsHölzle明确说:写作是工 icon
  • ”The Tao Of Programming编程之道“作者是Nigel Tao,他是Go团队中的主要人物之一,点击标题见原文   程序员大师说:      “当你学会从陷阱框架中抓取错误代码时,你就该离 icon
  • PHP是一种动态语言,虽然这肯定有它的好处,但它也意味着在日志中看到调用未定义方法或无效参数计数的错误并不罕见。更糟糕的是,当发生这些类型的错误时,应用程序将简单地崩溃,从而导致糟糕的用户体验和沮丧的客户。这个问题的解决方案是静态分析。对于像Java和C#这样的语言,这不是什么新东西 icon
  • 今天我打算写一些关于别的东西,但看起来Twitter上的每个人都在谈论“10x工程师”(10倍工程师)。有10倍的工程师吗?无论如何,这个词甚至意味着什么呢?这个话题引发了人们强烈的情绪反应,因为它涉及深刻的意识形态话题:一些人是否比其他人更有才华,为什么会这样(以及它是固有 icon
  • 软件开发很难,真的很难,实际上,它不止一门学科,涉及工程,团队合作,设计,复杂的问题解决,领域专业知识等等。要成为一名优秀的软件开发人员,您需要许多技能,其中一些技能只能通过经验来磨练。您需要不断学习并在工作中应用这些新课程,逐步迭代并尝试更好地通过自己和团队共同创建软件。软 icon
  • “如果软件不能正常工作,请不要担心。相反如果一切顺利,你就会失业。” - Mosher的软件工程定律 icon
  • 软件具有使用传统管理技术难以构建的特性; 有效的发展需要一种不同的、更具探索性和反复性的方法。 为什么糟糕的软件会发生在好人身上糟糕的软件是世界上为数不多的用金钱无法解决的事情之一。数十亿美元的航空公司的航 icon
  • Google的代码评审在工程实践中发挥着重要作用,并且早在谷歌就已经采用。直到今天,它们仍然用于保持代码库的清洁,连贯并确保不提交任意代码。尽管代码评审过程与 icon
  • DevOps就是转向基于产品的管理。实际上,这意味着项目不再有“结束日期”,而团队则通过提供功能不断提供价值。实现这一目标的一个重要部分是整合价值流中的团队,从开发到运营; 一些组织甚至包括业务利益相关者。在DevOps模型中,软件是作为产品进行维护,跟踪业务持续交付和不断实现价值指标。</ icon
  • 软件更像是科学而不是数学。数学表达式是可证明的,科学理论只是可表明的。数学是演绎的。科学是经验的,软件也是经验的。我们可表明,但不证明正确性。 Software is more like science than mathematics. Math icon
  • 软件开发项目中的一个常见争论是:该不该花时间提高软件质量,还是把时间专注于不断发布更有价值的新功能。通常,倡导把时间用于提供新功能的交付派别会赢得这场讨论胜利,导致许多开发人员抱怨他们没有时间研究架构和代码质量。 icon
  • 软件系统是容易的积聚一些累赘cruft  : 内部质量不高,导致其比预想更难进行修改和进一步扩展系统。技术债务是沃德坎宁安(Ward Cunningham)创造的一个比喻,它描述了如何考虑处理这种问题,将其视为金融债务,增加新功能所需的额外成本是债务利息。< icon
  • 如果你在软件行业工作一段时间,你最终会听到 icon
  • “英雄”项目是20%的开发者提供80%或更多贡献的项目。很多项目被放弃,因为这些项目失败源于沟通的瓶颈,但是,关于这个问题的实证证据很少,此外,最近的研究表明,这样的英雄项目非常普遍。因此,本文从代码质量的角度探讨了英雄在项目中的作用,在1100多个开源GitHub项目中确定了英雄开发者社区 icon
  • 为了简化和加快编写会对许多系统产生影响的代码的过程,工程师经常需要一种方法来查找其他人如何编写代码来处理类似的任务。我们创建了Aroma,一种代码到代码的搜索和推荐工具,它使用机器学习(ML)使得从大型代码库获得洞察力的过程变得更加容易。在Aroma之前,现有的工具都没有完全解决这个 icon
  • 这是来自一篇生产实践的经验分享,程序员对技术热情,而不是对业务理解的热情会误导企业软件方向,导致很多挫折和失败,技术不是越新越先进越好,而应该匹配业务领域:“优秀的程序员对他们的工作充满热情”基本上是我们行业的常见现象。总的来说,这可能是真的,但最近我一直对“编程的热情如何妨碍我们为 icon