程序员养成这个习惯,薪资就像开挂一样!

为什么同样的年纪,同样的工作经验,别人却能走入大厂,拿到很好的薪资,不是你不够优秀,你做不好这些只是因为你没有养成一个良好的编程习惯。

我为什么写这么多开源框架,还长期保持维护?

除了我想让更多人受益于开源外,还有一点就是,我想保持我良好的编程习惯

写业务代码也可以保持良好的编程习惯啊

能,但是太慢!

写业务时无法注意到的细节

在写业务代码时,即使项目时间充裕,你也会忽略掉很多细节,而这些细节正是影响你进步速度的关键,但你自己却很难察觉,在不知不觉间就对你的进阶之路造成了很大的影响

所以你的进步速度非常之慢,做了多年也只是熟练而已,无法更进一步

业务代码和框架代码最直观的差别就是,业务代码可以随意修改,而框架代码,使用者不能直接修改

由于业务代码的修改不受限制,所以一有需求变动,你就直接通过修改问题代码的方式来快速解决问题,即使这个代码的变动非常频繁,但你的第一反应却不是通过代码设计的方式来解决后续的扩展问题,因为这看似一劳永逸的方式,会浪费你当下大量的时间

人类的潜意识会更注重当下付出的成本,而忽略掉未来会获得的收益

因为你上面的编码方式,所养成的不好的编程习惯,会让你本能的不注重代码的耦合性、灵活性、可扩展性

所以即使你天天敲代码,你的进步也如此之慢,因为你平时就缺乏架构设计、代码设计的锻炼,日积月累,你也只是搬砖的速度比之前更快一点而已

写开源框架时给你带来的改变

这个时候如果有一个好的 leader 能每天 review 你的代码,还时常提醒你这些问题,只要你慢慢改成,并养成习惯,那你的进阶之路也会十分顺畅

但如此好的 leader 是可遇不可求的,那我们如果没有一个好 leader,该如何养成一个好习惯呢?

我的建议就是做开源库,而且尽量做开源框架,比如架构框架、UI 框架,网络框架、图片框架,尽量少做开源 App(当然如果为了学习某项技术也是可以的)

因为开源 App 主要是帮助你和别人学习某些技术,也是有大量的业务代码存在的,无非就是用了一些新的技术,而且还是你一个人写,有些细节你更不会考虑 …

而开源框架是拿给别人调用的,所以对代码质量要求更高,考虑的细节更多,对你的提升也越大

并且你的框架代码是放在服务器上的,使用者无法修改你的代码,这就会强迫你更关注代码的耦合性、灵活性、可扩展性,甚至是你写业务时根本不会注重的注释和文档

因为使用者用得稍有不爽就会给你发起 issue,不断地督促你优化你的代码、注释、文档,不断地帮助你培养一个良好的编程习惯

这就好比你有成百上千个好 leader 每天 review 你的代码,并指出你的问题,给予更好的建议,而且这些 leader 中绝对藏龙卧虎,这样日积月累下去,你怎能不成长?

良好的编程习惯助你快速进步

我的很多编程习惯,经过不断的纠错,优化,纠错,优化,已经深深的刻进我的脑子里了

我框架用到的大多数设计模式,都不是我刻意去用的,都是遇到某些问题,或者使用者需要增加什么功能,我为了不影响之前的版本,保证扩展性的前提下,去解决这些问题,而不得不去使用这些设计模式,很多情况下,代码已经写完了,才知道,原来我用的是 xx 设计模式

在这种不断优化代码,养成的良好编程习惯下,我写代码时,使用设计模式已经变成了潜意识的行为,根本说不出为什么要用这个设计模式,只因为觉得这样用才是最优解,这就好比拳击手,遇到***时会潜意识的躲闪、反击一样,这就是不断实战、不断训练的结果

框架要做到满足所有人的需求太难了,但只要你不断优化,能做到让大部分人满意,那对你的提升绝对是巨大的,而且你的编程习惯也会有巨大的飞跃

比如我写注释的编程习惯培养起来后,我的每个开源框架,都写了大量的注释,描述的非常详细,保证大部分人都能明白原理

一个好的习惯,坚持一天,就往目标前进一步
一个坏的习惯,持续一天,也就浪费一天时间

我做开源三年时间改掉了我很多不好的编程习惯,让我进步飞速,所以我感谢开源

我也鼓励更多的人积极参与开源,让别人受益的同时,别人也让你不断进步

自己是从事了五年的前端工程师,不少人私下问我,2019年前端该怎么学,方法有没有?

没错,年初我花了一个多月的时间整理出来的学习资料,希望能帮助那些想学习前端,却又不知道怎么开始学习的朋友。

如果你依然在编程的世界里迷茫,不知道自己的未来规划,可以加入web前端学习交流群:784783012 里面可以与大神一起交流并走出迷茫。新手可免费领取学习资料,看看前辈们是如何在编程的世界里傲然前行不停更新最新的教程和学习方法(详细的前端项目实战教学视频),有想学习web前端的,或是转行,或是大学生,还有工作中想提升自己能力的,正在学习的小伙伴欢迎加入

点击:加入

原文地址:https://blog.51cto.com/14227711/2364989

时间: 2024-08-04 19:14:36

程序员养成这个习惯,薪资就像开挂一样!的相关文章

unity3d引擎程序员养成

标准流程:1. c++ Primer 英文版(第四或第五版)全部看完习题做完是必须的.渲染程序设计比较复杂,后期会用到c++的全部特性.c++学的越好后面越轻松.要看英文版,计算机翻来覆去就那么几个单词,基础打好了以后查stack overflow这些网站也方便. 2. Introduction to 3D Game Programming with DirectX 11也就是经典的龙书,渲染入门,介绍了很多基本渲染算法,看完习题做完 3. Practical Rendering and Com

程序员的饮食习惯(千里之行始于足下)

工作了这么多年,也从事了很多份工作,发现效率是最重要的,但经常有力不从心的时候,最后发现都是身体出了状况.最终总结人的身体就像机器一样,正如你只有保养好了机器,才能让机器正常高效的运作起来一样,只有你了解了你的身体作息习惯,合理的安排生物钟,合理的营养搭配才能让你的精神状态很好,以下是通过查询资料总结的一些饮食搭配: 高蛋白食品:抗辐射 早餐:鸡蛋.牛奶.面条.花生 中餐:多吃蛋白质高的东西,如瘦猪肉.牛肉.鸡鸭.动物内脏.鱼和豆制品等, 晚餐:就要多吃维生素高的食物,各种新鲜蔬菜,新鲜水果,还

优秀程序员的十个习惯

在这个世界上,有数百万的人热衷于软件开发,他们有很多名字,如:软件工程师(Software Engineer),程序员(Programmer),编码人(Coder),开发人员(Developer).经过一段时间后,这些人也许能够成为一个 优秀的编码人员,他们会非常熟悉如何用计算机语言来完成自己的工作.但是,如果你要成为一个优秀的程序员,你还可以需要有几件事你需要注意,如果你能让下 面十个条目成为你的习惯,那么你才能真正算得上是优秀程序员. 1. 学无止境 就算是你有了 10 年以上的程序员经历,

想涨薪?想跳槽?程序员必知互联网薪资数据分析

本人 程序员一枚,没有从生到死稳重型的待在一家公司,也不是三天两头的跳槽乱入阵营,年轻气盛的乱跳槽的事也不爱干,奉劝同行的新入行的菜鸟们,选工作需慎重,跳槽更需慎重,入职也要做个多线程的程序员.知乎上看到一个关于互联网薪资数据分析的报告,拿来分享,大家共睹. 图片资料来源于100offer程序员拍卖网站. 欢迎大家吐槽,想公布自己薪资,想炫富的程序员们可以列队开始了.

Java程序员进阶路线-高级java程序员养成

1. 引言 搞Java的弟兄们肯定都想要达到更高的境界,用更少的代码解决更多的问题,用更清晰的结构为可能的传承和维护做准备.想想当初自己摸着石头过河,也看过不少人介绍的学习路线,十多年走过来多少还是有些收获.现通过自身经历总结一篇文章,供弟兄们参考. 2.  用好正在用的框架 在已经加入的团队中,和大家协作使用团队已选好的框架.不管框架优劣与否,特点如何,选择了它必然有一定的道理.并且能够在业界经久流行的框架也一定有它的优秀之处. 使用框架第一步是熟悉,可能通过复制和修改前人的代码来实现新的功能

【转】游戏程序员养成计划

博客出处:www.cnblogs.com/clayman/archive/2009/05/17/1459001.html 作者:clayman 与玩游戏相比,写游戏要复杂上千万倍,除了需要掌握通用的编程技巧以外,还要有相当的图形学,物理,数学基础,特别是在国内,由于相关资料的缺乏,更是让初学者无从下手.下面总结了一些入门方法和比较容易入手的资料. 首先你要精通一门高级语言,pc上游戏的首选语言就是C++.其次,要有良好的英文阅读能力.对游戏开发者来说英文阅读能力是最重要也是最基本的工具之一,因为

程序员养成指南

坚实的计算机科学基础是成为一名成功软件工程师的重要条件,该指南为那些想进入学术研究和非学术研究领域的学生们提供了编程知识学习路径.你可能会使用该指南来选择课程,但为了能圆满毕业,请保证你对专业课程的学习.该指南中提供的在线资源并不能取代你在大学中的课程... 指南使用须知: 1.请根据自己的具体情况使用该指南. 2.在指南之外,可能仍有很多其他需要学习的内容. 3.学完本指南的内容并不能保证你能获得谷歌的某项工作. 4.该指南会依情况更新或者更改. 你可以在Google +上关注"Google 

谷歌公司发布的程序员养成指南

坚实的计算机科学基础是成为一名成功软件工程师的重要条件,该指南为那些想进入学术研究和非学术研究领域的学生们提供了编程知识学习路径.你可能会使用该指南来选择课程,但为了能圆满毕业,请保证你对专业课程的学习.该指南中提供的在线资源并不能取代你在大学中的课程... 指南使用须知: 1.请根据自己的具体情况使用该指南. 2.在指南之外,可能仍有很多其他需要学习的内容. 3.学完本指南的内容并不能保证你能获得谷歌的某项工作. 4.该指南会依情况更新或者更改. 你可以在Google +上关注"Google

如果你打算做程序员有以下习惯、行为或想法,那得想方设法把他们“去”掉了!

1. 英语不好的同学,经常选择性的避开英语. 解读:这种例子我见过真的多了,最后还是得从了英语老娘.因为,英语老娘是开发人员的必不可少的一部分.就好像你出生时要喝的奶一样重要(这样形容不知道贴切不?哈哈).英语不好,没关系,只要心里不抵触它,慢慢接受,以后一天敲代码下来,很多专业名词过了几次记不住,过了几百次也就会熟了,想忘记也难!最重要的我觉得是不要去抵触他. 2. 经常遇到奔溃的情况下,慌得很. 解读:你应该觉得程序奔溃其实是一个很好的学习机会,解决得多了,你也就成为Bug终结者了.听听这称