开始一个新项目前,应当想清楚的几件事儿

如果觉得有价值,请随意转载,只需附上原文地址和 “简书作者milter”字样即可

在做一个新项目时,我们往往喜欢快速做出一个版本,迅速上线,不断迭代。这是互联网推崇的文化。但是,我还是觉得,以下几点,最好还是想清楚一点,在一开始尽可能做好一点,这样会更有利于后续的快速迭代,也就是磨刀不误砍柴工。

1、log怎么记

记log看似很平常的事儿,但在开始一个新项目,尤其是探索性的新项目时,认真地规划一下log的记录是很重要的。因为这是以后分析问题,解决问题的重要手段。如果一开始记录的很随意,那么,后面分析统计时很可能会头疼。根据我自己的经验,规划怎么记log时,应当着重从以下几点考虑:

  • 项目的数据流程节点要记
    一个项目总是要处理输入数据,经过处理后给出输出数据的,这个过程中的关键节点数据状态应当记录下来。
    -- 输入的原始数据要记录下来
    -- 数据关键的中间处理结果要记录下来
    -- 请求第三方服务的处理结果要记录下来
    -- 最后的输出要记录下来

  • log中数据的基本粒度要细
    比如数据时间、来源、用户、session、请求次序、甚至上一次请求的关键信息等。有些字段可能需要上游传过来,这个在一开始定义接口时就要考虑清楚,让对方传过来,因为接口一旦确定,就不好修改了。一个总的标准就是宁多勿少。

  • log中数据各项的格式规范要定义好
    比如时间、手机号、还有枚举类参数的取值名称等,都要在一开始就清楚地定义好记录标准,以后一直按照标准执行,方便以后数据的处理

2、异常的定义

项目中可能出现哪些异常,都要提前考虑清楚,考虑得越详细越好。最好定义一套自己的异常体系,将自己的异常、上游的异常、第三方应用的异常都清楚地定义好。并认真考虑每种异常的处理办法,是返回错误码,还是直接崩溃?最后,这些都要记录在log中。

如果在开始项目前,对可能出现的异常难以考虑周全,建议在实施项目的过程中及时进行完善。

3、关键指标报表

项目总是要迭代的,如何知道迭代后问题确实解决了或者效果确实变好了?这就需要对项目的关键衡量指标进行度量,要在一开始就想清楚这些关键指标是什么,并做好报表。指标好比灯塔和KPI,没有明确的衡量指标,就失去了优化的方向。
指标分两类,一类是技术指标,比如性能、内存占用、线程数、机器负载等;另一类是业务指标,这依据项目的不同而不同。

4、数据和代码的同步

许多项目都要使用一些数据提供服务,这些数据也是变化的。这就涉及到代码和数据同步问题。因为如果不同步,当指标有异常变化时,就很难说是代码改动造成的还是数据改动造成的。

数据比较小时,可以直接用git,和代码放在一起。如果数据量比较大,那么就需要设计一套数据的版本控制框架,可以很简单,也可以很复杂,取决于自己的项目特点和数据的迭代频率。

5、接口的定义要留有余地

最好是每个接口都留一个字符串类型的额外参数,开发到后期,如果需要上游增加新的数据,可以让上游写成一个json字符串放在这个参数中。这是一个取巧的办法,正规的办法肯定是升级接口。即使升级接口,也不建议直接在原接口上改,建议另外建一个接口的2.0版本,这样方便兼容。当然,这要求对接口中共同的代码要抽取出来,可以在新接口中最大程度的复用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值