美文网首页
项目优化---工程结构/目录优化(一)

项目优化---工程结构/目录优化(一)

作者: Cary_Xu | 来源:发表于2020-02-07 02:25 被阅读0次

简单的招式练到极致就是绝招,细节做到极致就是创新。

  能从零开始参与一个项目的开发无疑是一件幸运的事。但是作为一名开发者,我们更多遇到的是项目的迭代与更新。
  在项目趋于稳定,代码功能趋于健壮的时候程序猴们就可以考虑项目优化了。本文就结合本人目前正参与开发的项目从“工程结构/目录”这一细节出发共同探讨项目优化这门必杀技!

  说到工程结构/目录,通俗一点说我们讲究结构,高大上一点是我们追求架构。
  工程结构/目录是属于可读性和可维护性的范畴,我们设计一个层次清晰的结构/目录,就是为了达到以下两点:

  • 可读性强:不熟悉这个项目的代码的人,一眼就能看懂,通过UI捋代码,通过代码调UI都能轻而易举。
  • 可维护性高:定义好组织规则后,维护者就能很明确地知道,新增的哪个文件和代码应该放在什么目录之下。这个好处是,随着时间的推移,代码/配置的规模增加,项目结构不会混乱,仍然能够组织良好。

一、项目概述

  作为一个证券类App,君弘在总体结构上跟广大友商并没有什么明显区别,五个TabbarItem分别对应发现行情交易理财我的五大模块。项目整体采用组件化开发,各模块完全独立,项目中大牛众多技术较为成熟,实在是无处置喙。

二、本模块现状

  本人有幸于19年十月加入国泰,参与发现页改版需求开发。抛开顶部搜索栏、选项卡以及君弘在线平行直播间,发现页首页通过PageView囊括了机会关注实时服务学堂五大模块。为了提高效率,力求在年前测试通过并上线,几名同事各负责其一。
  工程的结构/目录与设计模式相辅相成,关于设计模式的探讨且听下回分解,这里主要就本模块主要采用的MVC进行分析。
  在本次改版需求的具体开发过程中,通过代码Review等方式发现了类似下图的问题:

工程目录.png
  • 1、创建目录文件夹时图一时之便不考虑现有结构(当然现有结构不够清晰,代码捋起来难度较大也是一个原因),导致整体结构冗余。
  • 2、ChanceView很可能复用了View中的控件、ChanceTools很可能用到了Tools中的方法等,当项目代码较少时问题不明显,当分支够多时代码追踪、文件位置锁定会变得非常困难。
  • 3、Chance可能会用到Attention中的某一个Model类,但是Attention文件夹中有很多Model类是改版之后废弃不再使用的,这样会增加后期维护代码时删除冗余代码的难度。

三、优化建议

优化建议.png
  • 1、严格遵守MVC设计模式。MVC定义好目录文件,后续新建文件严格按照要求分门别类,让代码“有迹可循”。
  • 2、需求开发时,更新迭代造成的废弃方法、文件应及时备注,在代码Review的时候定时清理,避免冗余代码,也避免错误引用。
  • 3、文件名要清晰明确,尽量做到望文生义,避免歧义或混淆。
  • 4、指定注释模板,重要文件添加固定格式注释,方面全局搜索。

四、总结

  万变不离其宗,工程的结构/目录优化从本质上是为了提高代码的可读性和可维护性。在日常开发过程中多思考,多自省,遇到问题及时反馈和解决,优化项目提升自己。
  创业难,守成亦难。项目稳定难,稳中求优亦难。天下事有难易乎?为之,则难者亦易矣;不为,则易者亦难矣。在项目优化的道路上,我辈当上下而求索!

相关文章

网友评论

      本文标题:项目优化---工程结构/目录优化(一)

      本文链接:https://www.haomeiwen.com/subject/tnxpxhtx.html