`
andyhu1007
  • 浏览: 200008 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论
阅读更多

 

      YAGNI stands for “You Ain’t Gonna Need It.” It is the battle cry of agile project development to help prevent speculative development.

 

      预想开发是个迷人的陷阱,在编码时时刻提醒自己:它究竟是会让代码变得更好,还是平添复杂度?出自预想的框架,如EJB和JSF,都是过度工程的典范。最好的框架是从可工作的应用程序中抽离出来的,比如ROR,它的累赘是如此之少。

 

      软件开发人员应保持与用户或者Business Analyst之间通畅的交流。大部分时候,用户和业务分析师对于软件功能有自己的想法,我们应该尽量抓住这些功能的核心和本质,然后看看有没有更简单的解决方案。如果没有通畅的沟通渠道,贪婪的用户和沉默的软件开发人员之间就会重蹈“大船瓦沙 ”的覆辙。记住,软件开发首先是一场沟通的游戏。

 

                                                                                                          ------- 《The Productive Programmer》

1
0
分享到:
评论

相关推荐

    20丨理论六:我为何说KISS、YAGNI原则看似简单,却经常被用错?1

    YAGNI,即“You Aren’t Gonna Need It”,中文可以理解为“你不会需要它”。该原则主张在开发初期不要预设未来可能的需求,而是根据当前需求进行开发,避免过度设计。因为预测未来的需求往往具有不确定性,提前实现...

    代码的抽象三原则-阿沐1

    本文将围绕三个与抽象相关的经典原则进行深入探讨:DRY(Don't Repeat Yourself)、YAGNI(You Aren't Gonna Need It)以及Rule of Three。 首先,DRY原则强调的是避免代码重复。当系统中出现相同或类似的功能时,...

    值得一看的文档--设计已死

    有些人可能会质疑,重构是否会违反“你需要的才去实现”(You Aren’t Gonna Need It, YAGNI)的原则。实际上,重构并不违背YAGNI原则,因为它旨在优化现有代码,而不是添加新功能。 #### 六、设计模式与XP 设计...

    Java版设计模式(详细全面讲解,各种案例)

    设计模式是程序员在设计应用程序或系统时...您应该从KISS,YAGNI开始,并做可能可行的最简单的事情。仅在实际可扩展性需要它们时才应引入复杂性和模式。 熟悉这些概念后,您可以通过以下任何一种方法开始深入研究模式

    用Java实现的设计模式.zip

    Java 中实现的设计模式 以...您应该从 KISS、YAGNI 和“做可能行得通的最简单的事情”原则开始。只有当需要实现实际的可扩展性时,才应引入复杂性和模式。一旦熟悉了这些概念,就可以通过以下任一方法开始深入研究可用

    软件工程中的设计原则与模式.pptx

    设计原则如SOLID原则、KISS原则、DRY原则和YAGNI原则可以帮助开发者编写出更加灵活、可维护和易于扩展的代码。而设计模式则提供了经过验证的解决方案,可以解决软件开发中常见的问题。无论是创建型模式、结构型模式...

    敏捷开发最佳实践-九大实践

    5. 简单设计(YAGNI and KISS原则):敏捷开发强调“你不会需要它”(YAGNI)和“保持简单,傻瓜”(KISS)原则,鼓励团队避免过度设计,只做必要的工作,以保持系统的简洁性和可维护性。 6. 单元测试:每个功能...

    软件工程-08-设计优化.pptx

    YAGNI(You Ain't Gonna Need It):这条原则的含义是"你不会需要它",是指开发者自以为有用的功能,实际上都不会需要。 2022/6/30 3 软件工程-08-设计优化全文共51页,当前为第3页。 设计的"味道(sm

    一些软件设计的原则一些软件设计的原则

    YAGNI原则主张只实现当前需要的功能,避免过度设计。过度设计可能导致项目复杂性增加,增加开发成本,并可能提前消耗未来的扩展性。软件开发首先是沟通的过程,过多考虑未来可能的需求可能导致项目失败,应专注于...

    软件工程中的软件架构设计与重构.pptx

    YAGNI原则建议开发者只实现当前真正需要的功能,而不是预测未来可能的需求并提前实现。这种做法有助于避免过度设计,减少不必要的复杂性。 #### 第三章:软件架构设计模式 **工厂模式** 工厂模式是一种创建型设计...

    精品软件工具--以一个完整的项目范例说明软件开发的思想、原则、实践和工具集.zip

    2. **软件开发原则**:包括单一职责原则、开闭原则、依赖倒置原则等面向对象设计原则,以及YAGNI(You Aren't Gonna Need It)和KISS(Keep It Simple, Stupid)原则,这些原则有助于编写可维护、可扩展的代码。...

    C++编写的学生成绩管理系统

    应遵循“YAGNI”原则(You Aren't Gonna Need It),只实现当前必要的功能。 9. **测试不足**:缺乏充分的单元测试和集成测试,可能导致隐藏的bug难以被发现。TDD(Test-Driven Development)是一种有效的防止臃肿...

    卓有成效的程序员word 我在网上找的

    第9章YAGNI(You Aren't Gonna Need It)原则提醒程序员避免预判需求,只做必要的工作。 第10章引用了古代哲学思想,如亚里斯多德的“本质与属性”理论和奥卡姆剃刀原则,指导程序员简洁和本质导向的编程。 第11章...

    围绕 软件优雅设计规约,基于Spring Boot 的 Java Web 开发框架,帮助使用者开发更易于阅读维护的代.zip

    YAGNI(You Aren't Gonna Need It)原则提醒我们,不要预先实现未明确需求的功能。KISS(Keep It Simple, Stupid)原则强调简单性是优秀设计的基础。 4. **测试驱动开发(TDD)**:编写测试用例来驱动功能的实现,...

    一个简短的介绍测试驱动开发TDD在JavaScript完成初学者一步一步教程.zip

    遵循YAGNI(You Aren't Gonna Need It,你不会需要它)原则,只写必要的代码,避免过度设计。当测试通过后,你就可以开始重构代码,以提高可读性、可维护性和性能。 在整个过程中,持续集成和持续部署(CI/CD)工具...

    有经验的Java开发者和架构师容易犯的10个错误(上)Ja

    正确的方法是遵循“YAGNI”(You Aren't Gonna Need It)原则,只实现当前需求,避免浪费资源在可能永远不会用到的功能上。 错误二:忽视单元测试 单元测试是确保代码质量的重要手段,但有些开发者认为只有新手才...

    Extreme Programming In Action

    2. **简单性**:做最简单可能成功的事,避免不必要的复杂性,遵循“你不会需要它”(YAGNI)原则。 3. **反馈**:持续的反馈是改进的基础,包括代码审查、自动化测试等。 4. **勇气**:勇于面对挑战,敢于改变和改进...

Global site tag (gtag.js) - Google Analytics