Total Views:
对于初学者,学习完了各种基础之后,开始真正编程时,会发现写的代码有点乱,没有规范,逻辑,这样是不行的。需要一套方法论才可以更好的实践
今天我分享一下自己的套路:
优秀代码的特质
- 高内聚,低耦合
- 可扩展
- 可读性
- 可测试
心得分享
记得有一句名言:程序 = 数据结构 + 算法。
数据结构用(类的属性, 变量)来承载, 算法用(类的方法, 函数)来承载。
这些 相互关联的 数据结构和算法结合起来, 形成了编程的 函数,类。
因此函数和类是可以 随时转化 的。本质都是 输入数据结构->算法->输出数据结构。
当一个函数很复杂,可以拆分成类。当一个类很复杂可以拆分成多个类.
几千行的函数->几百行的函数组成的类-> 几十行的函数组成的多个类
这是一个慢慢变优秀的过程
代码设计
高内聚,低耦合。尽可能的精细化设计,减少相互干扰
有一个solid5原则将的很具体,但是个人认为只要掌握了以下两条就够了,这两条原则对于函数和类,都是适用的。
开闭原则
开闭原则(Open-Closed Principle,OCP):一个软件实体(如类、模块和函数)应该对扩展开放,对修改关闭。
通俗的说,就是不去修改类或函数,而是添加类或函数
单一职责原则
单一职责原则(Single Responsibility Principle):一个类或函数只负责一件事。如果一个类或函数承担多个职责,那么它就会变得耦合起来。一个职责的变更会导致另一职责的变更。
通俗的说,就是设计类或函数,功能要尽量单一,减少耦合
从0到1的项目开发逻辑
需求->划分模块->梳理各个模块之间的联系->类/函数(先写注释,后写代码)->跑通最简单的流程
这里强烈推荐设计模式之美 (geekbang.org)
项目文件结构参考
- src:源代码
- config:配置
- main:启动文件
- bin: 可执行文件
- tests:测试用例
- docs:文档
- output:输出
- input:输入
命名规范
下划线命名 show_image()
驼峰命名 showImage()
具体需要按照项目的要求指定统一的命名规范