Skip to content
On this page

开发心得及经验

项目

  1. 在立项时候着重考虑架构设计,针对需要落地的场景及当前技术团队的技术情况,选择合适的前后端架构,大多数时候顶部的架构是早就设计好的,你在接手项目的时候最好快速搞懂为什么会形成现在的架构选型,并快速理解和消化。思考下如果让你独立去完成相同体量的项目,是否能做的比现在更好
  2. 注重项目积累:最好多积累一些可用的函数和库,前期可以使用一些在线文档软件进行统一记录,后续时间允许的情况下,可以做成代码包或SDK,逐渐提高项目的开发效率。也可以把常用的代码片段做成文档,方便分享。常用的功能封装好后就可以考虑做模板框架了,可以将公司项目中常用的部分抽离出来形成一套模板框架,这样在开发新的项目时,可直接以该模板框架为基础,快速进行开发迭代,提升效率
  3. 形成系统:将平时积累和总结的部分形成系统,慢慢地由点及面,形成自己的方法论。

开发

  1. 开发前要注重代码设计:在得到已确认的 UI 后,要多考虑组件的复用问题,以及是否具备后续快速迭代的能力,也就是通常说的 高内聚,低耦合。说起来很容易,但是在实际开发的过程中,面对灵活多变的需求,做出 以不变应万变 的方案才是个人能力高低的体现
  2. 开发前要多于产品经理和UI进行沟通,确定他们到底要什么,保证大家理解的需求是统一的。否则后续会有来回扯皮的问题,最终影响的还是开发人员的时间。
  3. 适当尝试砍掉需求(当然,这并不容易):沟通时不要和产品说XX需求不好做,要尽量站在产品经理的角度上说(毕竟产品经理大概率是不懂技术的,你和Ta说技术,只会招致Ta的反感,会认为你"找茬",甚至觉得你在"针对Ta")。例如前期没有沟通好,在开发阶段临时加的功能,可以和产品经理说:这个功能可以做,但是会比较浪费时间,可否换一种现有的实现方式,在排期时间允许的情况下保证功能可用
  4. 多写注释:尽量在开发过程中补全注释,保证任何时候修改这段代码的人都能快速看懂代码在做什么操作。你可能在很长一段时间后修改自己的代码,想象下要改几千行的代码但一行注释都没有,你该怎么办?
  5. 控制变量:在开发过程中,建议将变量控制在一个尽可能地控制在一定范围(例如将要提交的数据统一组织在一个对象中),方便后期维护。
  6. 重构:在开发迭代时间允许的条件下,尽量将不合理的代码进行小幅度的重构,在公司正常迭代中,项目几乎不会给你彻底重构的机会和时间,小幅度重构可以保证代码 腐败 的速度慢一点。
  7. 让代码尽量简单:很多时候因为过于想复用一个组件,多次迭代后,大概率会产生无法维护的情况。这时就要考虑拆分,可参考策略模式的思想,保证逻辑独立,可以容忍有一定量的冗余DOM(后续有时间再优化)
  8. 想明白再动手:尽量把一次迭代的所有工作在大脑里想清楚,至少也要过一遍,这样总比无脑堆砌代码反复返工来的好
  9. 多做一些事:多做一些你职责之外但可以提升其他人效率的工作,例如在提测之前把测试可能涉及到的路由或者关键变量提前告知,帮助别人提交效率的同时,也是帮助自己提升效率。帮别人其实就是在帮自己
  10. 做好计划:按照工作量进行合理的排期并做好计划,一方面,可以对于工作的进度有明显的感知,另一方面,方便随时汇报,方便你的组长和领导了解你的工作进度,最重要的是,当你写总结的时候,你可以快速过一遍你之前的工作计划,方便写详尽的工作总结。
  11. 自动化:尽可能地将工作自动化,不能完全自动化的也要提高自动化的比例,以便提升效率
  12. 吐槽:事实证明,写代码不难,难的是带着脑子写代码
  13. DOM模块独立:要保证DOM模块独立,整个页面中如果有特殊样式(左右充满)时,不建议在外层盒子设置统一内边距。特别是需要负数外边距时,可能导致垂直距离高度异常

自身发展

  1. 提高自身影响力:做一些能提高效率的事,以提升自己的效率为开始,慢慢影响到身边的同事,后续过渡到团队、部门,逐渐扩大自身的影响力
  2. 持续学习:程序员这个职业是要终身学习的,否则很容易被技术淘汰。《数据结构与算法》、《计算机原理》一类的基础书,对于非科班出身的程序员来说确实比较难啃,但我还是建议你看一看。虽然现在大多数开发人员,尤其是前端开发根本不需要了解算法,但这并不代表你不需要知道。这些是基础,是内功。对于你后续的提高会有很大的帮助。当然,这一切的前提都是你不甘于做一个普通的开发人员。
  3. 保证自己有炒掉老板的能力:无论当前有多稳定,一定要保持自己有炒掉老板的能力,毕竟没有人知道你明天上班会不会因为右脚先进门而被开除。
  4. 迷茫:人人都有迷茫的时候,想不清楚的就先放一放不要想,挑那些我们想的清楚的方向去努力
  5. 专注价值:学会识别真正有价值的东西,并努力专注于将其扩大,持续成长!避免过多低价值造成的干扰,持续保持专注!
  6. 明确为什么学习:如果你不满足于现状,那么就去学习;如果你期待一个好的团队,好的领导,那你就去学习;如果想得到更高的薪水,工作的更舒服,甚至不工作,那你更要学习!学习是你摆脱烂人烂事最快的方法,没有之一!

休息

  1. 保证睡眠:作为开发,难免会熬夜赶进度的情况,在平时不忙的时候尽量早休息,保证充足的体力和精神,熬夜虽好但伤身。
  2. 坚持阅读:除了必要的技术类书籍以外,可以多看一些小说或其他类型的书,做技术久了,眼界难免会比较狭窄,多一些阅读,有助于开阔眼界。
  3. 坚持锻炼:久坐伤身。每隔40分钟或1小时就起身活动一下,接一杯水或者取个厕所,对身体会好一点。
  4. 放空时间:无论多忙,一定要给自己定一个放空的时间!半小时、一小时都行,目的就是要让自己静下心来好好思考。要切记自己为了什么而忙。
  5. 适当放松:在时间允许的情况下,可以尝试适当放松,不必让自己时刻处于紧张的状态,你是人,不是机器,要对自己好一点

心境

  1. 心流状态:自己有动力,做起事来不会感觉累,能进入心流状态,产出往往更令人满意。
  2. 不要为难自己:世界很大,工作很多,不要逼自己做自己不想做的事,遵从本心效果可能更好。
  3. 先小人后君子:信任是很贵的,要时刻保护好自己。在利益受损的情况下,要坚持自己的利益诉求,绝不让步!切记,过分的善良只会伤到自己!
  4. 保护自己的利益:自己的利益,寸步不让!不要做善人
  5. 珍惜当下:任何事情都是有时效的,你以为的永恒的、固有的东西,也许有一天就会突然消失
  6. 做好自己:要明白你不是为了老板而活,而是为了你自己而活。
  7. 仪式感:总有一些日子是需要被记录的,要努力留下每一份美好。

学历

  1. 提升学历:现在大多数互联网公司还是会看学历,本科证(自考、网络教育等渠道)相对还是比较容易的。不要听那些说学历不重要的人,要么是这个人已经有了对应资质,要么就是单纯的
  2. 培养自己:如果公司不能在技术上满足你的需求,那就想办法自己培养自己,无论是充电还是跳槽,培养自己都是一本万利的事

商业化

  1. 商业模式:技术是基础,有了落地有效的商业模式才有价值!
  2. 策略不值钱:说大话、脑补什么的人人都会,可这并不能带来价值。只有当你把说的大话实现了,别人才会真的平等的看你。

Released under the MIT License. Thanks to WebStorm software support.