你的开发为何如此低效?- https://mp.weixin.qq.com/s?__biz=MzIwMzYwMTk1NA==&mid=2247484100&idx=1&sn=6d049494e35c19c5bd688d9d71f034d9&chksm=96cda389a1ba2a9f5425c4d4ad8ad8a91d5ba2ca1ed44871b345e411bf404a7ceb15e570595f&scene=21#wechat_redirect
在开发中,编码我们有分层架构、设计模式做为套路来高效开发,但你也知道编码不是开发的全部,一个完全的开发流程用面向对象思想来概括,它分为OOA(面向对象分析)、OOD(面向对象设计)、OOP(面向对象编程)。一个好的代码结构是需要需求分析,架构设计做为辅助的,Stay尝试向你描述一个理想高效的工作流程,有了这个套路,不仅能让你缩短编码时间,还能得到团队的认可。
关于高效开发,大多数人的第一反应就是成熟的分层架构、设计模式以及第三方lib。这些给了我们设计准则还有便利的工具更快的去做需求实现。
高效开发还有另外一层含义,关于一个团队他要如何去提升团队的整体开发效率、缩短开发周期,能够一步一步去更快速的产品迭代,在这个过程中你要做好需求分析,架构上的设计。
高级开发工程师他会有一个具体的步骤:
1.通过OOA来分析业务流程输出模型
2.基于模型再做面向对象的设计OOD,借助UML来描述整体的一个业务需求的流程
3.以OOD归纳的用例图、时序图、类图做为蓝图来指导OOP
4.设计高层抽象,以伪代码的方式串联起整个业务流程
5.拆分出一些独立任务交给其他人实现
在面向对象编程的过程中,还可以套用经典的设计模式、设计原则来提升系统的稳定性,让代码变得可测试,可扩展。
对比下初中级呢,他们的关注点更多的放在OOP上,在具体代码实现上。这样就不太能全观整体业务的流转和边界,无法预见需求未来可能发生的变化,仅仅做些重复劳动力对提升开发效率是没有任何帮助的。
高效开发Stay觉得应该分为,OOA、OOD、OOP,跟我们刚才讲的那个是一样的。先得有需求分析,再做流程设计,最后才是代码实现。
从OOA、OOD再到高层抽象架构和低层实现,不同角色的职责是不一样的。
除了技术需要不断深入,未来转管理还需要有抽象思维、业务能力、沟通协作。
-- 1.工作方式:
2.工作方式对比:
3.开发流程:
4.定位