• Atitit 软件的俩大要点 提升可读性 提升扩展性 目录 1. 命名可读性 1 2. 提升扩展性法 1 3. 项目常见扩展法 2 1.结构可读性 表驱动代替if else 减少层次 Dsl


    Atitit 软件的俩大要点 提升可读性  提升扩展性

     

    目录

    1. 命名可读性 1

    2. 提升扩展性法 1

    3. 项目常见扩展法 2

     

     

     

    1. 结构可读性

    表驱动代替if else

    减少层次

    Dsl化

    适当命名空间化  分类化

    递归代替循环

    异常处理

     

    Atitit. 提升存储过程与编程语言的可读性解决方案v3 qc25.docx

     

    1. 大原则:分解+命名 1

    1.1. 命名规范 1

    1.2. 分层、DI和AOP是继OO 1

    1.3. 运算符可读性一般要比函数好 1

    1.4. 函数式样 流程控制全部函数化 2

    1.5. 递归代替循环 2

    1.6. 中缀表达式  取代 前后缀表达式 2

    1.7. 有时候异常处理也会提升可读性 2

    1.8. dsl 2

    2. Refactor 2

    2.1. 方法链 2

    2.2. 其他 2

    2.3. PIE 原则:意图清楚而且表达明确地编程; 3

    2.4. 恰到好处的注释 3

    2.5. 简单就是美,避免简单的功能写出复杂的代码; 4

    2.6. 坚持操作方法的原子性,而后使用组合模式实现业务逻辑; 4

    2.7. 参考 4

    1. 命名可读性

    命名空间命名

    类命名

    变量命名

    函数命名

     

     

    Atitit 提升sql与编程语言代码可读性----大力使用中文解决方案

     

    1.1. 为了提升可读性,使用汉字命名可以大力提升可读性。。 1

    1.2. 打字麻烦,还好有Ide里面的自动提示,可以增加对于的拼音或者英文缩写前缀,这样方便打字自动提示 2

    1.3. 跨国项目怎么办,对方不认识中文怎么办??增加英文即可  czyh_queryUser_查找用户 2

    1.4. 环境对汉字支持不佳怎么办??使用拼音中文。。拼音也是中文的一种形式嘛。。 2

    1.5. 这样就比较完美了,唯一的问题,就是长度可能有点长,但这个就没办法啦 2

    1.6. 不必全部使用中文 常见的英文query from where user等可以不用汉字。。英汉夹杂融合他们的优点 2

    1.7. 函数命名规范:可以参考sql  select语句规范,提升可读性 3

     

     

    1.  提升扩展性法

     

    atitit 高扩展性解决方案 功能扩展法 v2 t66.docx

    atitit 高扩展性解决方案.docx

     

    1. 功能扩展 vs 性能扩展 2

    1.1.       人无远虑,必有近忧。       系统也一样。 2

    1.2. 预留接口 插件机制 2

    1.3. 通用语言解析接口 多功能接口 就类似usb接口那样通用 2

    1.4. Dsl接口和ast接口 2

    1.5. 脚本。脚本是扩展复杂功能的利器 2

    1.6. 自定义语言 工作流 规则引擎 2

    1.7. api类库扩展 2

    1.8. Cli扩展     udf机制 3

    1.9. 3

    2. Other 3

    2.1. 原件最小封装 3

    2.2. 接口的层次化 功能 模块 子系统 3

    2.3. 接口转换器 adapter模式 3

    2.4. 无中心节点组件设计 避免庞大组件出现, 3

    2.5. 使用配置化 ioc提升扩展性,配置lazy化 3

    2.6. 插件系统或者模块化平台。插件系统平台从理论上提供了无数的可扩展性。比如Eclipse和NetBeans平台。这儿是抽象的最高点, 4

    2.7. 灵活性和可扩展性 其易用性差的三角关系 4

    2.8. 稳定性。越是灵活和可扩展 4

    2.9. 扩展性与性能的关系 4

    2.10. Vm+dsl vm 其实就是添加了一个layer,无所不能 4

    2.11. 功能使用和功能定义的关注点分离 5

    3. 其他的常见扩展模式 6

    3.1. Php使用其他语言写lib 6

    3.2. Cms的插件机制 6

    3.3. 浏览器的插件机制,使用其他语言写插件 6

    3.4. Oracle支持java写sp 6

    3.5. 用lua扩展你的Nginx( 6

    3.6. oa office excel vbs vba  com 6

    3.7. 游戏外挂 6

    4. 常用的写扩展的语言 6

    4.1. Lua c++ python  xml 6

    5. 参考资料 6

     

     

    1. 项目常见扩展法

    组合 vs 继承扩展

    回调扩展法

     

     

    Atitit. 提升存储过程与编程语言的可读性解决方案v3 qc25.docx

     

  • 相关阅读:
    BZOJ 1055 [HAOI2008]玩具取名
    BZOJ 1054 [HAOI2008]移动玩具
    BestCoder Round #51 (div.2)
    python对拍程序
    BZOJ 1053 [HAOI2007]反素数ant
    BZOJ 1051 [HAOI2006]受欢迎的牛
    Codeforces Round #315 (Div. 2)
    今天愉快的hack小记
    BZOJ 1050 [HAOI2006]旅行comf
    COJ 2135 Day10-例1
  • 原文地址:https://www.cnblogs.com/attilax/p/15197153.html
Copyright © 2020-2023  润新知