分解/命名/编码+全局/公共/末梢
<p><a href="https://my.oschina.net/leonsh/blog/4869163" title="降低代码的圈复杂度——复杂代码的解决之道">降低代码的圈复杂度——复杂代码的解决之道</a></p>
<h3>开发步骤</h3>
<pre><code class="language-plantuml">@startmindmap
!theme spacelab
skinparam backgroundColor #FCFCFC
+ 分解 Breakdown
++ 命名 Bename
+++ 编码 Coding
@endmindmap</code></pre>
<pre><code class="language-plantuml">@startmindmap
!theme bluegray
skinparam backgroundColor #FCFCFC
+ 开发技巧
++ 状态保持
+++ 解决分心
++++_ 不看新闻
++++_ 工具 TO DO
+++ 保护颈眼
++++_ 间歇休息
++++_ 工具 simple timer
++ 开发流程
+++ 类图规划
++++_ 方法、变量命名
++++_ 技术难点
++++_ 复用性
++++_ 工具 plantuml
@endmindmap
</code></pre>
<h3>代码分层</h3>
<pre><code class="language-plantuml">@startmindmap
!theme spacelab
skinparam backgroundColor #FCFCFC
+ 全局 global
++ 公共 common
+++ 末梢 final
@endmindmap</code></pre>
<pre><code class="language-plantuml">@startuml
!theme bluegray
skinparam backgroundColor #FCFCFC
scale 1.5
partition **global**全局代码 {
fork
:main.js;
fork again
:Z.js;
fork again
:z.less;
fork again
:store;
fork again
:router;
end fork
}
partition **common**公共代码 {
fork
:lib;
fork again
:utils;
fork again
#B5BD00:**biz**;
fork again
:api;
fork again
:components;
fork again
:styles;
end fork
}
partition **final**末梢代码 {
fork
:views;
fork again
:filters;
fork again
:directives;
end fork
}
legend
* **global** 全局直接可用
* **common** 按需引入使用
* **final** 不会被复用的代码
末梢代码要尽量少,只写大的业务逻辑,细小的过程处理写在 common层
vue项目中views,filters,directives等都属于末梢代码
endlegend
@enduml
</code></pre>