在iOS开发这一块,国内的标准化做的都不太好,和国外的一些项目相比,差距非常大,所以这里就来谈谈标准化的重要性吧。
标准化
需要标准化的场景非常多,比如:
- 文档
- 代码规范
- 接口
- 方案设计
就拿文档来说,目前应该几乎没有对注释的覆盖率有要求的,特别是客户端这种以写业务为主的场景,没有注释那是自然的。
Why
为什么个人非常看重标准化这个问题。
因为在这些年的工作经验中,发现有很大一部分bug是由于标准化做的不足而引起的,而这些问题往往是那种非常简单的错误。
另外一个是在做一些重构或者整合的时候,没有做标准化的业务几乎很难去重构,需要花费大量精力去“适配”这种不标准。
比如:
用户id的定义,可能是id
,userId
,resourceId
,这些不同的名字往往会让人非常困扰。更为困扰的是拥有相同名字,却有不同的含义的内容。
这些都非常影响软件的质量。
How
其实这类问题并不是我们才有的问题,这些问题基本上都有现成的比较权威的方案。
比如代码规范,Google整理的各种语言的规范,阿里的java白皮书这种都可以参考。
比如接口中分页的设计,以前总要在pageSize
,lastId
,lastTime
等众多方案中挑选一种,而没有采用一些更优秀的设计(可以参考GraphQL的分页方案)。
标准化的解决方案,大部分问题我们都可以参考现有的解决方案。
困难
虽然标准化这个事情看起来非常简单,但是要实施起来却非常困难。
标准化不仅仅是单端的问题,甚至可能从需求方开始就要改善。这样所涉及的人过于庞大,更不要说像阿里这种大厂了。