引言
2021年9月13日,通过自学我有幸正式成为一名Web前端开发工程师,菜的抠脚的那种。
历时8个月,从一个到处碰壁的前端小白逐渐成长为团队的开发主力(项目比较简单),整个过程可以说是苦乐交织。
最累的时候通宵修bug,最惨的时候被项目组公开批评,最憋屈的时候替老员工背锅,最愤怒的时候想跟产品和后端打架,入行前道听途说的各种吐槽,原来都那么真切。
因为菜,入职以来我从未停止过学习,每天除了吃饭睡觉干活,其余时间都在学,一刻也不敢放松。对提升技术和能力的渴望,给予我无限的动力。
随着个人能力的进步和独立完成一项项的需求,我愈发的喜欢这份工作,也很享受掌握新知识带来的快感,还有完成任务后的成就感。
这篇文章讲到的24个原则,主要面向即将步入职场的小白和新手,是我个人回头看做的一个踩坑总结,希望能帮助读者少走一些弯路。
用户体验第一
任何场景、任何情况、任何时候,都应将用户体验摆在首位,没有可商量的余地。当你被要求加快进度、忽视剩余少量bug、在设计或需求达成一致之前就开始编码时,要直接说不。
需求评审的重要性不可忽视
很多问题都是由于需求评审流于形式造成的,需求评审应该尽可能周全详细,有问题要及时提出。一个好的PRD,能极大减轻开发者的困扰。常见的不合格的PRD都有以下特征:
- 频繁的改动
- 不完整的需求列表
- 不充足的用户沟通
- 晦涩难懂、低质量的需求说明
- 不详细不充分的需求分析
优先级
开发质量没有唯一的定义,对开发者来说,质量可能是优雅的设计或优雅的代码;对客户来说,质量可能是高效的满足他们已知和未知的需求;对成本敏感的项目来说,质量可能是低开发成本。难题是,以上要求可能无法完全兼顾,当优化某人关注的质量时,可能会影响其他人关注的质量。所以开发前必须先确定各因素的优先级,并清晰地传达给所有人。
开发效率和质量密不可分
开发效率和质量之间存在明显的关系,这一点必须明确。对质量要求越高,开发效率就越低。对质量要求越低,开发效率就越高。越是强调提高开发效率,最终的质量就越低。这看起来是废话,但许多人并没有清醒的认识。
尽早将开发成果交给上级、产品、测试人员
无论我们多么努力地试图去完成好需求,都不如先给出一个成果,让相关人员去使用,收集反馈并整改。这样一来,能最大限度减少开发成本、提高效率。
沟通
我们开发的出发点是什么?是为了满足真正的需求。解决真正需求的唯一方法,是去跟有真正需求的人沟通。开发者通常要对接产品经理、设计师等相关人员,多交流,多问一句,能解决许多许多问题。记住,沟通、沟通、还是TMD沟通。
如果你是对的,请一定要坚持
做人做事,一定要有原则,工作中也一样。有利于团队和项目的建议或观点,尽管遭到反对,我们也应该坚持真理。时间会给大家一个答案,而你终会获得尊重。
认清开发过程中的变化是不可避免的
我们经常会吐槽变化,导致返工和浪费精力,甚至责备同事。这种变化其实是项目完善和改进的自然过程,要以平常心面对,不应过多抱怨。
责任心
产品中的bug,是程序员的耻辱。当任何人发现我们犯的错误时,我们应该心存感激而不是试图辩解。人非圣贤,孰能无过,过而改之,善莫大焉!没有责任心没有担当的人,永远不会受人尊敬。
不要盲目跟风
即使有一百万个人说傻话,那仍然是傻话。大家都做的事情,对你而言也不一定是正确的,你应该评估它对你所处环境的适用性。例如,同事的建议、学习新技术等方面。
写文档、画脑图
好记性不如烂笔头,将你的所思所想、规划总结整理成脑图和文档,长此以往,你的思维能力将得到极大提升。另外,这些痕迹都是工作产出最清晰最直观的体现,大多时候,掌握工作方法总是比掌握技术更关键。
复用
自己门清的、重复的代码,能cv就别自己写,尽可能节省成本、提高效率。有封装需要的情况下就别偷懒,最好的偷懒方式就是一次做好。
如果没有坏,就不要修理它
假如你在维护一个程序,你可能是想增强它或者想修复遗留缺陷,在检查时你发现了另外一个错误,不要试图“修复”它,因为此举可能造成更多的bug。
发布之前存在的错误在发布之后也一定会出现
代码没有玄学,只有对与错,不要抱有侥幸心理。
避免使用特殊技巧
很多人喜欢写带有特殊技巧的代码,虽然可以正确执行,但晦涩难懂。编写使用特殊技巧的代码,并不能向世界展示你有多么聪明~
避免使用全局变量
全局变量便于编写程序,但易出错且不好维护,应该尽可能将变量封装在对应模块或函数中。
编写可自上而下阅读的程序
人们阅读代码通常都是习惯从上到下阅读,要养成这种编码习惯,有助于他人理解。
避免副作用
副作用是指程序的某些操作不是主要目的,并且这些操作或其结果能被外部感知到。副作用是许多bug的来源,很难排查。
使用有语义的命名
过短的、没有语义的命名将会增加维护成本,因为要花更多的时间去理解这些命名,宁愿命名长一点也要做到语义化。变量名应该是名词,函数名应该以动词开头,返回布尔值的函数通常以 is 开头。
在写代码之前先写注释
有许多程序员不提倡写冗余注释,但是“冗余”的边界却不好掌握,所以,尽可能站在别人的角度写好注释。最好为每个函数编写注释,还包括大型代码块、复杂的算法、使用黑科技等。
不要嵌套太深
嵌套超过三层就会严重降低可理解性,有许多简单的技巧可以用来减少嵌套。
格式化你的代码
使用标准的格式化规则,可大大提高程序的可读性。选择遵循哪种规则无关紧要,但一旦选择了,就要保持一致。
在编码的过程中要始终考虑未来是否会变化
任何时候,只要在代码中使用字面值,就问问自己将来这个值是否可能会变,如果答案是“是”,那么就应该把它提取到常量中,便于以后修改和维护。同理,在写组件的时候也要充分考虑可扩展性。
对自己期望越高,提升的就会越快
人与人之间智力上的差距是很小的,即使有差距,也可以通过后天努力追赶上。无论是写代码、学习技术还是日常工作,都应该严格要求自己,并且坚信别人做得到的我一样也可以做到,通过量的积累,最终可以得到质的飞跃。
最后
如果文中有错误或者不足之处,欢迎大家在评论区指正。
你的点赞是对我莫大的鼓励!感谢阅读~