凌晨三点,5年前端的我终于想通了……
转眼间,做前端已经五年了。回想起这些年的点点滴滴,有为了一个像素对不齐而折腾到凌晨的执着,也有终于解决了一个性能问题后的欣喜若狂。 💻 那些让我抓狂的瞬间 编辑🌱 那些让我成长的时刻 重构那段时间,每天都在跟历史代码搏斗,但也正是这个过程,让我真正理解了什么叫"代码可维护性"。学会了说"不"以前刚入行时,产品提什么需求我都说"行"。 直到有一次,为了赶一个不合理的deadline,我熬了好几个通宵,最后上线的版本还出了bug。后来我学聪明了,开始跟产品和沟通:这个需求的技术复杂度是多少需要多少开发时间如果一定要提前,哪些功能可以砍掉当前技术方案的风险点在哪里学会评估和沟通,比学会写代码更重要。 🤔 程序员的日常思考 关于加班的那些事刚开始工作的时候,我觉得加班=努力。 关于技术焦虑 前端技术更新太快,Vue还没学完,React又出了新特性,CSS框架层出不穷。 💪 真正的成长是什么 刚开始我只关心代码写得爽不爽,后来我开始思考:用户真的需要这个功能吗?这个交互体验够好吗?性能优化能带来什么价值? 🎯 给自己的一些话 五年下来,我想对自己说:保持好奇,但不要盲目跟风写代码很重要,但解决问题更重要技术要精进,但生活也要平衡多分享,多交流,多思考记住,你首先是一个人,其次才是程序员 ✨ 下一个五年 技术这条路很长,但我不急了。慢慢地学习,稳稳地成长,踏实做好每一个项目。毕竟,最好的代码不是最复杂的,而是最合适的。最好的程序员不是最聪明的,而是最懂得平衡的。 你在前端路上有什么难忘的经历?欢迎在评论区分享你的故事。 ——转载自:destinying
一个padding搞了我一晚上记得刚入行的时候,有个布局问题让我头疼了一整晚。就是两个div之间的间距,怎么调都不对。那时候我还不知道浏览器默认样式这回事,对着Chrome开发者工具一遍遍地试,各种margin、padding组合,结果第二天早上一问资深同事,人家轻描淡写地说:"reset.css加了么?"那一刻我才明白,很多你以为的技术难题,其实只是知识盲区而已。
"这个需求很简单"
背后的深坑产品经理说:"这个需求很简单,就是加个拖拽排序功能。"
我:"好的,应该一天就够了。"
然后我才发现,拖拽排序要考虑:移动端的手势识别PC端的鼠标事件不同浏览器的事件兼容性拖拽过程中的视觉反馈边界处理和碰撞检测性能优化(防止频繁重绘)可访问性支持三天后,我终于交出了"看似简单"的功能。从那以后,我再也不轻易相信"这个需求很简单"这种话了。
第一次重构老项目接手一个三年前的老项目,代码里到处都是document.getElementById,jQuery和原生JS混用,全局变量满天飞。重构过程中,我发现了一些有意思的"黑历史":// 当年的前辈们是怎么写代码的function getData() {
if (data1 == null) {
data1 = [];
for (var i = 0; i < 100; i++) {
data1.push(i);
}
}
return data1;
}
// 还有这种神奇的操作
$("#button").click(function() {
setTimeout(function() {
location.reload();
}, 100);
});
后来慢慢发现:有效的时间管理比长时间工作更重要会写代码不等于会解决问题健康比KPI重要得多我现在尽量不加班,不是因为懒,而是我学会了:提前评估工作量及时沟通风险拒绝不合理的需求保持专注,减少无效加班
前两年我很焦虑,怕被淘汰。
现在我想通了:基础永远是王道:HTML/CSS/JavaScript的核心不会变学习要讲方法:
不要追着新技术跑,要有选择地学项目
驱动学习:在实际项目中学习新技术效果最好保持输出:写博客、做分享是最好的学习方式
<<<顺便提一嘴,技术大厂在招,前后端和测试,全国都有坑位,待遇及稳定性还不错。
从技术思维到产品思维
我的代码对团队协作友好吗?技术是工具,不是目的。
真正的前端开发,是用技术为用户创造价值。找到了自己的节奏现在的我:不再盲目追新技术,而是选择适合自己的技术栈重视代码质量,但不执着于完美会主动沟通需求,而不是被动接受保持学习的热情
愿我们都能在这条路上,找到属于自己的节奏和答案。