Coding优化策略

 

【结构】

l 预期

l 方法

l 原因

l 抽象

l 指标

【预期】

项目或产品的高速度兼高质量的发布

【方法】

灵魂五问(what/from/to/why/how)

【原因】

为什么要优化?

1 减少成本[时间|空间]

a)      (复用性)

描述:重复造轮子是不必要的,会让代码和空间冗余

b)      (易交接)

描述:让后来者或协作者感到舒服,节省对接与交接时间

c)       (结构设计)

描述:结构设计简单可以减少冗余工作和空间,语言具有通性,保证表达精要准确将带来意外的好处

d)      (算法设计)

描述:前车之鉴,后车之师,算法结构化、简单化可以长期获益

2 减少风险

a)      (耦合性)

描述:代码耦合度高,将导致一人受影响十人遭殃的局面

b)      (兼容性)

描述:高版本应兼容低版本功能,在废弃模块前确保模块已没有被引用

c)      (伸缩性)

描述:保证应用的服务可以升降级,提高控制力度和硬件资源利用率,(spring cloud有相应解决方案)

d)      (扩展性)

描述:在编码和结构设计时应具有前瞻性,如无,将可能发生频繁复工

e)      (安全性)

描述:如有安全漏洞,那潜在风险据具体情况而定,且难以不可挽回,保证各类测试到位,不略过必要流程

f)       (健壮性)

描述:代码缺少健壮性将导致程序执行有不可控的风险

g)      (体验性)

描述:应用响应时间长将带来用户不良体验,改变它是加分项

【维度】

1.     高效的沟通

描述:表达简单、具体、精准,避免重复询问,减少沟通成本。

2.     用好快捷键

描述:每款软件都有相应的快捷键,利用好他们是高效的杀手锏

3.     用适合自己的插件

描述:插件的优势不必多叙了,具有一定的通用性,否则人家也不会闲的没事开发插件

4.     利用好IDE工具功能

描述:例IDEA,集成了诸多功能,等待你的挖掘

5.     对象批处理化

描述:如果一个问题可以批量处理,很节省时间,就看你是否可以抽离一个批处理的操作方法

6.     对象流程化

描述:流程化的思维也非常普遍,将主要步骤抽离出来作为执行流程,具体的实现与主干分离,这样简洁明了

7.     对象规范统一化

描述:硬代码或配置信息抽离到公共常量或属性文件,变量取名、相同逻辑实现方法统一

8.     抽离公共代码

描述:简言之方法复用,原则:如果有两个或两个以上的地方用到了相同的逻辑处理,可以将其抽象成一个公共 方法,便于统一修改与方法复用。

9.     治根不治标(深挖问题)

描述:从原理解决问题是不让问题复现的解决方法

10.     不带情绪

描述:工作需求而已,如果有不良感受,请多自省

【指标】

1.     正确性

       描述:正确性是基础要求,保证程序符合预期逻辑正常执行

2.     安全性

       描述:有效认证、有效鉴权、保障闭环,出现问题可追溯

3.     扩展性

       描述:功能设计及实现时需要考虑插拔性,便于功能间解耦

4.     复用性

       减少重复代码、降低整体开发工作量,提高编译与执行的效率

5.     简洁性

       描述:提高可读性、降低运维成本、问题简单化

6.     效率性

描述:时间复杂度、空间复杂度考察,算法优化,减少应用响应时间

7.     耦合性

描述:考虑减少模块与模块之间的耦合度可以让代码具有柔性

8.     反馈调节

描述:让问题得到更优解

~~~

 

posted @ 2020-04-26 15:26  image_erfsfj  阅读(196)  评论(0编辑  收藏  举报