• 程序员修炼之道 从小工到专家


    注重实效的途径

    DRY原则:就是dont repeat yourself,含义是系统中的每一项知识都必须具有单一,无歧义,权威的表示。即要避免重复。 程序员需要持续不断的维护,这是整个开发过程中的例行事务。DRY使开发更易于理解和维护。 重复的类型:强加的重复,指环境因素导致的重复.解决需要智慧。  信息的多种表示(如不同平台不同语言对同一信息的表示),这样可能导致不一致,通过编写简单的过滤器或代码生成器来解决,即从同一个源(信息的表示)来生成。 要把低级的知识放在代码中,把注释保留给其他的高级说明。即指分层设计,高层的逻辑尽量抽象以避免修改。这样底层和高层解耦,也防止注释过期。无意的重复和无耐性的重复要被避免。 开发者之间的重复。正交性:  含义就是解耦。用来表示某种不相互依赖性或者解耦性。 需要消除无关事务之间的影响。组合正交组件提高效率。不要依赖你无法控制的事务属性。 建立正交的系统:  模块化 层次化。 AOP让你在一个地方表达本来会分散在源码各处的某种行为。 限制模块之间的交互。 遵守得墨忒耳法则缩小了调用类中的相应集的规模。 在编码上:  让代码保持解耦 避免使用全局数据 避免编写相似的函数 可撤销性  含义是不存在最终决策,所以功能要可撤销。即代码可回滚。 使用版本控制系统。 采用灵活的架构。 设计正交的系统。 曳光弹和原型化  区别在于原型化更注重为交互建立原型,最终会被丢弃。 而曳光弹更偏重对核心功能的实现,最终会成为系统的一部分。 曳光弹的使用场景是当需求模糊,无法做出宏观上完善的系统设计时。采用盲人摸象的方式进行开发,即先实现确定的地方. 估算:从已有的类似项目来进行估算比较靠谱  确定估算粒度。如天,周,月。 确定问题的范围,即制定约束条件。 所有的估算都以问题的模型为基础。去问已经做过这件事的人 估算系统:建立系统模型,把模型分解为组件,给每个参数指定值,计算答案,追踪估算能力。

  • 相关阅读:
    浅谈flume
    浅谈storm
    浅谈zookeeper
    IntelliJ IDEA 使用教程
    浅谈spark
    添加本地jar包到maven仓库
    eclipse通过maven进行打编译
    pom.xml中添加远程仓库
    maven编译错误maven-assembly-plugin:2.2-beta-5:assembly (default-cli) on project
    最长上升子序列
  • 原文地址:https://www.cnblogs.com/lijiawei1-2-3/p/11728656.html
Copyright © 2020-2023  润新知