作为程序员,开发前总要根据设计搞发一个排期出来,排期大致内容包括:页面,js,套接口,联调,测试,改bug、上线。你以为已经排的很合理了,但在实际的开发中总会出现各种各样的坑,各种意想不到的bug,总之还是经验不足导致,经验不足体现在:

  • 高估自己的实力
  • 各种情况考虑不周全
  • 看不到坑
  • 爬坑困难
  • 时间总体把控不足,前松后紧

    先说说页面

    对前端来说,最直观的体现是页面,而最耗时的却不是页面。当页面写完时会给人一种已经开发差不多了的错觉,一个没套接口,没有js的纯页面总能让你感觉进度正常,殊不知接下来的坑都在js和接口的联调上,等真正套接口联调的时候甚至会发现页面有些地方当初切的并不合理:越界了、缺hover状态了、缺错误提示了、少考虑情况了,等等。而设计搞只是设计搞,实际功能和需求总会比设计搞上展示的多。在写页面时也要多考虑一些情况,比如碰到标题、姓名之类的文本就要加上长度限制,多出来的部分用“…”代替,以免撑破或溢出。

js联调

争取在切万页面就把js动态部分写好,甚至预留好接口js位置,当然很多页面展示js需要有数据才能开发,但在初期还是尽可能的多完成js,以减少上述静态页面给人带来的错觉。和后端联调很有意思,各种细节,缺字段、少格式、定参数等。后端的开发是根据原型来的,而前端主要是根据设计搞,所以联调往往会花费意想不到的时间。如果在初期就发现接口不匹配一定要尽早提出,有时手里还有其他页得开发工作暂时用不到这个有问题的接口就没提,等到用到接口时提出来后端也许要开发时间,总体时间会因此耽误,造提早改,这样等你用的时候不至于耽误进度。 在开发将近尾声的时往往会剩余一些细节问题,针对这些一定要列个清单,靠脑袋记往往会遗漏,主体功能跑通以后,就是挨个解决这些遗留细节的时候了,搞定一个划掉一个,显得很有效率,最后别忘了删除代码里的console.log()

测试 、改bug

进入测试阶段感觉就可以喘口气了,测试总会出各种问题,但相比开发时要好很多,越界、未对齐是常见的bug,有时也会有不好解决的bug需要后端配合一起解决,所以在开发时尽量不要留坑,早晚得填。

最后要说的是排期靠经验,多吃几次错才能更好的排期,把握住整体时间,不要前松后紧,总是延期显得人不够诚信、不够靠谱,这些都是要避免的。

————————————一条不太华丽的分割线——————————————–
补充:在心理学上有个词叫“虚假优越感(illusory superiority)”,不同维度的人都会或多或少的高估自己的实力,包括长相,受欢迎程度,工作业绩等等,比如:90%以上的司机都认为自己的驾驶水平属于中等以上。这或许解释了排期失误的原因吧。