• ContextMapper是一个开源工具,提供基于领域驱动设计(DDD)模式的DSL,用于实现上下文映射和服务分解。Context Mapper项目是瑞士东部应用科学大学(HSR FHO)<
  • 干净Clean代码特点:易于他人使用(直截了当,意图清晰,抽象性好,毫不意外,好名声)-这是最受关注的问题。 它是针对现实世界制作的,即具有清晰的错误处理策略。 它是最小的(做一件事,具有最小的依赖性)。 擅长做什么。 清洁代码的属性
  • 我:“今天我写了36行非常不错的代码。”兰多:“只有36行?我以为你是个了不起的开发人员。”我:“我写的是正确的36行。 众说纷纭:我今天坐在那里想了四个小时。我认为这为我节省了大约6个星期的代码编写时间。 icon
  • 我听过人们无数次吹嘘其他人要了解他们的工作需要多长多长时间,依我看情况正好相反。你应该吹嘘人们能够多快地理解你所写的内容。 当我看到那些能够以让别人可以简单理解的方式创造表达复杂事物的人时,我会对他留 icon
  • 虽然基于领域事件的建模特别与DDDesign相结合越来越受欢迎,但我看到了一些在某些情况下可能有效或无效的命名气味。1)最明显的“CRUDish事件气味”。像SomethingChanged,SomethingUpdated这样的事件可能表明没有足够的领域探索,或者行为领域方面探索很 icon
  • 让我们看一看为什么将值对象方法应用于我们的代码是真的很有用哦。 我相信我们中的很多人都听说过域驱动设计(DDD),无处不在的语言以及所有这些奇特的东西。然而,我看到许多代码并不使用于基于这种方法的想法。为什么会这样? icon
  • 软件开发人员最常犯的错误是:把东西放在错误的地方。将本来应该分离的责任与概念耦合在一起。对我来说,这占据软件开发中95%。只是弄清楚*事物所属的地方。 其他观点:1. 我担心开发人员会强调并花费很长时间来决 icon
  • 软件开发项目中的一个常见争论是:该不该花时间提高软件质量,还是把时间专注于不断发布更有价值的新功能。通常,倡导把时间用于提供新功能的交付派别会赢得这场讨论胜利,导致许多开发人员抱怨他们没有时间研究架构和代码质量。 icon
  • 研究表明,人为因素最影响我们的工作质量,可是为什么我们会投入更多精力希望通过技术性解决方案解决软件质量呢?假设您经营一个新团队。您可以一刀切地实施任何您想提高人员生产力和减少代码错误的策略。你会做什么?进行配对编程!切换到Haskell!使用UML进行所有操作!这些技术都有自 icon
  • 软件系统是容易的积聚一些累赘cruft  : 内部质量不高,导致其比预想更难进行修改和进一步扩展系统。技术债务是沃德坎宁安(Ward Cunningham)创造的一个比喻,它描述了如何考虑处理这种问题,将其视为金融债务,增加新功能所需的额外成本是债务利息。< icon
  • 该文比较了软件工程中敏捷和瀑布两个方法,主要是分析了敏捷方法,指出敏捷方法的致命问题:我们们在系统开始时使用敏捷确实节省了分析和定义整个数据模型的时间,但经过一段时间、一年或更长时间后,我们将花费相同或更多的时间来处理糟糕的数据模型或大数据重构。如果我们在实现需求之前再添加一个阶段, icon
  • 比尔盖茨说过:人们不会为修复bug付费,只为新功能付钱。技术债务作为Bug产生的根源,技术债务只是针对开发人员而言,如何能做到向最终用户收费?创造新的商业价值?KentBeck提出投资改善体系结构或架构,这样比单纯去修复bug、重构等还请技术债务的方式会更好吗? icon
  • 众说纷纭:灵活性可能导致更多的设计时间和复杂性。这个词本身看起来不错,但没那么简单。 我现在正在(艰难地)学习到,随着复杂性的增加,维持软件项目中的变化速率变得越来越困难。如果我可以回去一年,我肯定会在设计更多SOLID方面投入更多的前期精 icon
  • 基于长期经验,本节中的页面包含有关进行代码评审的最佳方式的建议。它们共同代表了一个完整的文档,分为许多单独的部分。你不必全部阅读它们,但很多人发现它对自己和他们的团队阅读整套都很有帮助。 icon
  • 软件开发很难,真的很难,实际上,它不止一门学科,涉及工程,团队合作,设计,复杂的问题解决,领域专业知识等等。要成为一名优秀的软件开发人员,您需要许多技能,其中一些技能只能通过经验来磨练。您需要不断学习并在工作中应用这些新课程,逐步迭代并尝试更好地通过自己和团队共同创建软件。软 icon
  • 不加选择地应用var可能会让代码不容易理解,因为模糊了类型这个概念,而人类是依据类型分类进行逻辑思考的,这样就使事情变得更糟,如果使用得当,var可以帮助改进良好的代码,使其更短更清晰,同时不会影响可理解性。使用var需要通过减少混乱来改进代码,从而使更重要的信息脱颖而出。本 icon
  • 决策者一般习惯于设计能够产生可见结果的东西:事物外形,用户界面,功能,体验,但是他们很难理解为什么他们应该关心软件设计。(这是说给甲方 或老板听的) 软件设计也会对用户产生影响。如果软件的模型与业务领域一致,则有助于解决用户的问题,否则产生更多问题 icon