时间 * 效率 = 需求量。
作为一个程序员不加班是不可能的,但避免身体超负荷运转还是能想想办法的。
想要节省点时间,首先如果能劝的动产品经理的话,那👍。不然就得从代码效率入手了。
下面讲讲本人的成长经历。大神就不用在这浪费时间了。
第一阶段:入门阶段
反正用代码堆出来就行了。回头看代码还不如重写一遍来的快。
第二阶段:整理阶段
代码写完后一团乱麻理不出头绪,开始有意识的整理代码。加上前辈指导,代码变得规范。
func不再乱写,一个功能提供一个明确入口,如非必要不增加func。
当然这时候一个controller几千行代码的困扰还没解决~
#pragma mark - 共有方法 -
#pragma mark - 视图加载 -
#pragma mark - 事件 -
#pragma mark - 工具方法 -
#pragma mark - xxx功能 -
/*
这是xxx功能
*/
- (void)xxx功能
{
[self 辅助方法1];
[self 辅助方法2];
}
- (void)辅助方法1
{
}
- (void)辅助方法2
{
}
#pragma mark - 私有方法 -
第三阶段:拆分代码阶段
排列与组合
举例:一个视图拆分多个后组装,一个controller拆成多个后,一个.m里的代码少多了!
第四阶段:设计模式阶段
拆分完代码后开始学会规划代码结构了。良好的设计,可以省掉很多额外工作量。
以最简单的工厂模式举例:
很多页面有分享
哎,又要改文案,头疼,一个一个找吧
用一个工厂专门生产文案呢
这个版本我们的文案要都换一下啊。我:好的,改完了。
第五阶段:模块化阶段
考虑代码结构的范围由小变大,开始总结抽离出独立部分。
分成模块后代码可复用性高了很多,相应的维护成本也会下降
第六阶段:进一步解耦合-面向接口
模块后的代码,无意间会携带一些耦合代码,拿到别的地方没法复用,要进一步解耦合。
人人都要有做SDK的思想,面向接口。这样对团队分工合作也是有利的,通过接口提供给别人完整稳定的功能,不需要对方操心内部实现。SDK也同时对外部封闭,是不可以从外部把手伸进来牵线搭桥乱改动的。
xxx: 这个要怎么设置。 我:调这个的这个接口就行了。
xxx: 那个数据要怎么拿到。 我:调那个的那个接口就行了。
第七阶段:再高级一点的封装-组件
原始资本积累。站在自己沉淀的代码财富上。
相信很多人见过这样的事情:非常多的页面在使用同一个功能,每个页面都在其中写了一遍类似的代码。天天加班忙来忙去,却没有人想去整理一下代码搞一下复用。
用这么多昂贵的劳动力做复制粘贴的事情,只能说:财大气粗。
做互联网行业的需要技术底蕴,养成途径之一:组件。
它是脱离业务的稳定代码,测试验证的时间成本就省下来了,只需专注于业务层。
团队人数越来越多,有不同的app和业务线,有了这些财富,新开业务线底层搭建的时间成本也省下了。
来源:CSDN
作者:JonNNN1
链接:https://blog.csdn.net/wnnvv/article/details/104152904