范围
站在巨人的肩膀上不香吗?书籍推荐:DDD作为企业软件设计开发必读书籍 - lpalmieri
SAP是什么? - retool
当心SAFe(企业级扩展敏捷框架)变成黑暗的邪恶化身 - Sean Dexter
企业级可扩展敏捷框架是一些原则和实践的集合,旨在为大型公司提供一种“扩展”敏捷工作模型的方法。自2011年成立以来,SAFe经历了巨大的增长。全球将近有一百万人成为SAFe认证从业者。我实际上认为SA.
鲍勃大爷:“如果您不喜欢结对编程,就不要结对, 但是要做好准备让那些已经使用配对技巧的人飞越您。”
众说纷纭:嗨,鲍勃:从您的经验来看,您确定两位从事同一任务的程序员的身价比从事不同任务的程序员的价值高两倍吗?鲍勃大爷回:那当然是我的经验。有两个原因:首先,短期记忆很有效率。您可以有效地处理两倍的信.
CI和CD之间的真正区别 -Fire CI
了解CI和CD解决的问题以正确使用它们至关重要。这将使您的团队可以改善您的流程。并避免花力气追求那些不会给您的过程带来任何价值的幻想指标。持续集成是一个团队问题如果您在团队中工作,那么您是在同一个存储.
没有CI/CD合在一起的东西! - frankel
最近,我意识到一种趋势已经持续了很长时间:将CI和CD合并为同一个词组:CI/CD。当营销人员完成此操作时,这与往常一样,是流行语和炒作的混合,并大喊“看着我!”。但是,当专业软件工程师重复此操作时,.
瀑布和迭代可混合:敏捷定义者Martin Fowler定义瀑布法
可确保项目的质量和安全性的三个Maven插件 - rieckpil
检测依赖项内部的漏洞对于创建安全的应用程序至关重要。除此之外,静态代码分析工具和预定义规则可以帮助您确保质量。幸运的是,有Maven插件可用于在您的构建中自动执行此操作。通过此博客文章,我将向您展示我.
DDD统一通用语言:软件工程不是关于技术,而是关于沟通
我在软件工程中工作的越长,我就越注意到它不是关于技术,而是关于人类以及它们彼此交互的方式。我们的工作是消除团队的障碍。有时它是工具,有时它是一种语言,有时它是沟通。- o0ignition0o众说纷纭.
幽默:软件工程让你结合上下文解决问题,计算机科学让你抽象出通用算法解决问题
向上思考:计算机科学让你抽象出通用算法解决问题向下思考:软件工程让你结合当前上下文解决问题结果:程序员被逼疯了。 现实:工程派瞧不起科学派,科学派看不上工程派。.
如何建立良好的软件?软件不仅仅是编写代码而更是开发知识! - csc.gov.sg
软件具有使用传统管理技术难以构建的特性; 有效的发展需要一种不同的、更具探索性和反复性的方法。为什么糟糕的软件会发生在好人身上糟糕的软件是世界上为数不多的用金钱无法解决的事情之一。数十亿美元的航空公司.
面试问题:软件工程与传统工程有什么不同? - hillelogram
我现在需要面试12位工程师,当然我已经了解了传统工程和软件工程的差异,学习了很多知识,但是当我真正进行面试时,遇到障碍,现在暂停面试了,软件与传统工程有什么不同?1. 工程不是单一的。我们通常将软件与.
最好的语言也敌不过人类愚蠢:使用PHPStan通过静态分析尽早捕获PHP错误 - madewithlove
PHP是一种动态语言,虽然这肯定有它的好处,但它也意味着在日志中看到调用未定义方法或无效参数计数的错误并不罕见。更糟糕的是,当发生这些类型的错误时,应用程序将简单地崩溃,从而导致糟糕的用户体验和沮丧的.
Google代码评审介绍 - Michaela Greiler
Google的代码评审在工程实践中发挥着重要作用,并且早在谷歌就已经采用。直到今天,它们仍然用于保持代码库的清洁,连贯并确保不提交任意代码。尽管代码评审过程与Microsoft的代码评审类似,但有一些.
“10倍工程师”:刻板印象和研究 - jasoncrawford
今天我打算写一些关于别的东西,但看起来Twitter上的每个人都在谈论“10x工程师”(10倍工程师)。有10倍的工程师吗?无论如何,这个词甚至意味着什么呢?这个话题引发了人们强烈的情绪反应,因为它涉.
幽默:软件行业的潜规则
“如果软件不能正常工作,请不要担心。相反如果一切顺利,你就会失业。” - Mosher的软件工程定律.
识别不必要的复杂性是软件开发中最重要的技能之一
什么是复杂性?如何识别?是不是无为就不会造成复杂性?有些复杂性是过早设计带入,但是有些复杂性是因为没有及时识别与意识到,造成更大的复杂性!如同自己绕毛线,绕得越多,自己被扰进去了!识别到复杂性,然后将.
CIO值得看看:DevOps现象 - ACM权威
DevOps就是转向基于产品的管理。实际上,这意味着项目不再有“结束日期”,而团队则通过提供功能不断提供价值。实现这一目标的一个重要部分是整合价值流中的团队,从开发到运营; 一些组织甚至包括业务利益相.
鲍勃大叔认为软件不同于数学,软件是科学,科学与数学是有区别的
软件更像是科学而不是数学。数学表达式是可证明的,科学理论只是可表明的。数学是演绎的。科学是经验的,软件也是经验的。我们可表明,但不证明正确性。Software is more like science.
为什么软件总是很糟糕?
软件开发很难,真的很难,实际上,它不止一门学科,涉及工程,团队合作,设计,复杂的问题解决,领域专业知识等等。要成为一名优秀的软件开发人员,您需要许多技能,其中一些技能只能通过经验来磨练。您需要不断学习.
写作是软件工程师重要的超能 - Gergely Orosz
Google8号员工和现在的工程高级副总裁UrsHölzle明确说:写作是工程师重要的超能。 工程师经常低估写作的重要性。投资这项技能,以扩大您向其他人传达信息的能力,成为更有影响力的工程师。大多数.
高质量的软件是否能赚回成本? - Martin Fowler
软件开发项目中的一个常见争论是:该不该花时间提高软件质量,还是把时间专注于不断发布更有价值的新功能。通常,倡导把时间用于提供新功能的交付派别会赢得这场讨论胜利,导致许多开发人员抱怨他们没有时间研究架构.
权威解读什么是技术负债? - martinfowler.com
软件系统是容易的积聚一些累赘cruft : 内部质量不高,导致其比预想更难进行修改和进一步扩展系统。技术债务是沃德坎宁安(Ward Cunningham)创造的一个比喻,它描述了如何考虑处理这种问题.
吐槽“技术债务” - morethancoding
如果你在软件行业工作一段时间,你最终会听到技术债务一词。它指的是设计不合理的东西,将来会成为昂贵的维护问题。它应该会让人联想到短期技术捷径的可怕景象,它会导致未来的痛苦。善良的我觉得这个词没用。我们先.
从1100多个项目中吸取的教训:为什么软件项目需要英雄?
“英雄”项目是20%的开发者提供80%或更多贡献的项目。很多项目被放弃,因为这些项目失败源于沟通的瓶颈,但是,关于这个问题的实证证据很少,此外,最近的研究表明,这样的英雄项目非常普遍。因此,本文从代码.
Facebook开源Aroma: 通过机器学习向程序员推荐代码模板
为了简化和加快编写会对许多系统产生影响的代码的过程,工程师经常需要一种方法来查找其他人如何编写代码来处理类似的任务。我们创建了Aroma,一种代码到代码的搜索和推荐工具,它使用机器学习(ML)使得从大.
对编程技术的热情反而会使我们的工作更糟 · 哲学黑客
这是来自一篇生产实践的经验分享,程序员对技术热情,而不是对业务理解的热情会误导企业软件方向,导致很多挫折和失败,技术不是越新越先进越好,而应该匹配业务领域:“优秀的程序员对他们的工作充满热情”基本上是.
编程之道(1987) - Geoffrey James翻译
”The Tao Of Programming编程之道“作者是Nigel Tao,他是Go团队中的主要人物之一,点击标题见原文 程序员大师说: “当你学会从陷阱框架中抓取错误代码时,你就该离.
谈谈Bug引起的复杂性“Bug-O” — Overreacted
在编写对性能敏感的代码时,最好记住它的算法复杂性。它通常用Big-O表示法表示。Big-O衡量代码在向其投入更多数据时会变慢多少。例如,如果排序算法具有O(n 2)复杂度,则排序×50倍以上的项目将大.
DevOps与敏捷异同 - DZone DevOps
敏捷和DevOps可能看起来像是不同的行为,但如果你看看他们的目标,你会发现它们非常相似。看看Agile和DevOps提供的价值。也就是说,看看DevOps的“为什么”;再看看敏捷的“为什么”。当您仔.