热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

构建易维护代码的9条最佳实践摘要

·1.在问如何做之前,先要问做设么,为什么做,给谁做。2.在打破规则之前必须要理解它们3.作为软件开发者,我们希望了解产品负责人和客户需要什么,以及为什么需要,而且我们想知道这些东西是为

·1.在问如何做之前,先要问做设么,为什么做,给谁做。

2.在打破规则之前必须要理解它们

3.作为软件开发者,我们希望了解产品负责人和客户需要什么,以及为什么需要,而且我们想知道这些东西是为who而做的,我们并不希望它们告诉我们如何做  涉及利益

4.作为一个专业的开发者,工作的时间越长,就越会从商业角度看待问题,在商业中,我们需要关注两件基础的事物:价值和风险

5.5个为什么

通常表面上都问题都不是真正的问题:它仅仅是另外一个深层问题的表现,一个查找问题根源的方法是,5个为什么。当面对一个问题时候,问为什么会发生或者是什么东西造成这个问题,然后针对哪个答案接着问为什么会发生,直到你问4次,通常会发生一些之前没察觉到的值得注意的问题

6.高质量的代码是聚合的

   我觉得开始难以理解,是因为作为一个结构化的程序员,我理解代码的安全毛毯是可以跟着它,我把当做CPU,然后跟踪指令在代码中前行,但这不是一个阅读面向对象代码的好方法

   优秀的面向对象程序像是洋葱一样,它们是一层一层的,每一层都代表不同层次的抽象,这是我们思考的方式,概念一层包裹着一层,着帮助我们将概念分块,好让我们从高层次处理问题,当我们想知道更多细节的时候,则可以深入到下面一层

   对象不是真正的事物,他们的行为决定了它们代表什么


6.面向对象,设计模式,TDD,重构,关注代码质量,

7.涉众利益,用户价值

8.泛化是表示集合关系,关联表示个体关系。

9.无绪,使民无知,契约设计,具体抽象和实际抽象,接口分离

10.高内聚,低耦合

11.增量开发,持续迭代

12.服务--模块--包--类--代码

服务:SOA原则和模式

模块:模块化原则和模式

包:包设计原则和模式

类:SOLID和设计模式

代码:代码质量

仅关注高层抽象是不够的,只强调代码质量也不够的,我们必须通过其他方式消除断层,这包括模块设计和包设计


推荐阅读
  • 深入理解OAuth认证机制
    本文介绍了OAuth认证协议的核心概念及其工作原理。OAuth是一种开放标准,旨在为第三方应用提供安全的用户资源访问授权,同时确保用户的账户信息(如用户名和密码)不会暴露给第三方。 ... [详细]
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • Valve 发布 Steam Deck 的新版 Windows 驱动程序
    Valve 最新发布了针对 Steam Deck 掌机的 Windows 驱动程序,旨在提升其在 Windows 环境下的兼容性、安全性和性能表现。 ... [详细]
  • 深入理解Java中的volatile、内存屏障与CPU指令
    本文详细探讨了Java中volatile关键字的作用机制,以及其与内存屏障和CPU指令之间的关系。通过具体示例和专业解析,帮助读者更好地理解多线程编程中的同步问题。 ... [详细]
  • 理解存储器的层次结构有助于程序员优化程序性能,通过合理安排数据在不同层级的存储位置,提升CPU的数据访问速度。本文详细探讨了静态随机访问存储器(SRAM)和动态随机访问存储器(DRAM)的工作原理及其应用场景,并介绍了存储器模块中的数据存取过程及局部性原理。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • 深入理解Java泛型:JDK 5的新特性
    本文详细介绍了Java泛型的概念及其在JDK 5中的应用,通过具体代码示例解释了泛型的引入、作用和优势。同时,探讨了泛型类、泛型方法和泛型接口的实现,并深入讲解了通配符的使用。 ... [详细]
  • 并发编程:深入理解设计原理与优化
    本文探讨了并发编程中的关键设计原则,特别是Java内存模型(JMM)的happens-before规则及其对多线程编程的影响。文章详细介绍了DCL双重检查锁定模式的问题及解决方案,并总结了不同处理器和内存模型之间的关系,旨在为程序员提供更深入的理解和最佳实践。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 随着网络安全威胁的不断演变,电子邮件系统成为攻击者频繁利用的目标。本文详细探讨了电子邮件系统中的常见漏洞及其潜在风险,并提供了专业的防护建议。 ... [详细]
  • 本文探讨了 Spring Boot 应用程序在不同配置下支持的最大并发连接数,重点分析了内置服务器(如 Tomcat、Jetty 和 Undertow)的默认设置及其对性能的影响。 ... [详细]
  • 配置Windows操作系统以确保DAW(数字音频工作站)硬件和软件的高效运行可能是一个复杂且令人沮丧的过程。本文提供了一系列专业建议,帮助你优化Windows系统,确保录音和音频处理的流畅性。 ... [详细]
  • 网易严选Java开发面试:MySQL索引深度解析
    本文详细记录了网易严选Java开发岗位的面试经验,特别针对MySQL索引相关的技术问题进行了深入探讨。通过本文,读者可以了解面试官常问的索引问题及其背后的原理。 ... [详细]
  • 本文介绍了多个关于JavaScript的书籍资源、实用工具和编程实例,涵盖从入门到进阶的各个阶段,帮助读者全面提升JavaScript编程能力。 ... [详细]
  • 本文探讨了如何在日常工作中通过优化效率和深入研究核心技术,将技术和知识转化为实际收益。文章结合个人经验,分享了提高工作效率、掌握高价值技能以及选择合适工作环境的方法,帮助读者更好地实现技术变现。 ... [详细]
author-avatar
weibophp
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有