网络知识 娱乐 什么样的程序员才算得上优秀,把导师曾对我说的话送给大家(比代码更重要的事)

什么样的程序员才算得上优秀,把导师曾对我说的话送给大家(比代码更重要的事)

优秀程序员的定义是什么?那些比写代码更重要的事情

    • 1. 说在前面
    • 2. 为什么选择了这行呢?:whale: (导师),:tropical_fish:(我)
    • 3. 如何才能成为一名优秀的程序猿呢?
    • 4. 大佬的代码层分享(通用)

1. 说在前面

  • 为什么忽然想起这个话题呢?起因是最近不少人问到我,大都是对这个职业心存疑惑或是不太清楚,如何成长?如何突破?未来的路在哪里?
  • 很多人以为,程序猿的任务就是把需求实现,bug修好(这也是我几年前的思想)
  • 把之前导师(某大厂P7级别的大佬,现在已是P8)和我说的分享给大家,觉得很受用,影响了我后面这几年的职业选择与整体规划

在这里插入图片描述

2. 为什么选择了这行呢?🐳 (导师),🐠(我)

🐳 :还记得当初为什么选择这行么?
🐠 :呃,好像记不太清了

🐳 :我记得你的专业不是计算机吧,因为工资高?还是家里人的建议?
🐠 :或许是工资高吧,那时候特别喜欢车,想存钱搞台车(憨笑)

🐳 :其实我问了很多面试者,很多人都对这个问题的回答含糊不清,其实我最想听到的答案是:因为热爱,因为感兴趣,或是想用它改变世界
🐠 :改变世界?这就很深奥了

🐳 :这不深奥,你没有注意到么,每一种语言,教程里的第一件事都是教你如何使用它向世界问好:Hello World!
🐠 :这个倒是的

🐳 :这既是引导,又是启发,代码与程序是运行在二维世界里的东西,但是它又影响着三维世界的方方面面
🐠 :没太懂,您是说?

🐳 :比如我在淘宝上买衣服,这是二维世界。购买成功后,卡里的钱是不是变少了,你去银行里取钱是不是就变少了?同时你会多一件新衣服,是不是改变了三维世界
🐠 :仔细去想,好像是这样的

🐳 :是的,你看现在可以用手机做好多事情,都是通过程序来处理的,程序的本质,即是我们所写的每一行代码,我们所处的世界也可以看成是由一串串代码连接而成的
🐠 :所以,我应该立志用代码改变世界?

🐳 :说的小一点,想着用代码改变一些事情,其存在的意义肯定是为人类而服务的,所以:程序猿也是伟大的
🐠 :那是不是可以去除屌丝这个称号了?

🐳 :哈哈,这与我们改变世界是不冲突的,我其实想告诉你的是:选择一个行业,最好是因为热爱,其次是想用它去做一些东西,改变一些东西,如果你的初始选择就是盲目的,那么注定了你在这个行业达不到一定高度,拿点工资,混混日子而已。
在这里插入图片描述

3. 如何才能成为一名优秀的程序猿呢?

🐳 :这也分为好几个阶段吧
🐠 :怎么说呢?

🐳 :程序猿的第一阶段当然是能够满足公司的业务需要,能做点东西出来,不然是毫无价值的
🐠 :比如写个页面?写个接口?

🐳 :是的,首先你要能提供一定价值,第二阶段是能够走出代码,到达业务层
🐠 :就是懂逻辑?懂功能?

🐳 :可以这么理解,你不能整天就是蒙头写代码,得知道整个项目的运作流程,从A页面到B页面发生了什么,从哪开始?由哪里结束,前端程序员很多都不太了解业务,这是很致命的
🐠 :嗯嗯,了解了,那第三阶段呢?

🐳 :第三阶段是跳出业务层,对宏观技术层有一些了解
🐠 :呃~,了解前沿技术?

🐳 :是的,关注技术走向,尝试新技术,有新想法,从而改变现有业务,项目都是如此,循环往复,不断更新迭代
🐠 :也就是你们现在做的事情吧

🐳 :恩,技术达到一定级别后,就是要思考与改进,比如那些顶级大佬,推动技术变革
🐠 :这就很牛逼了,我等小辈只有跟着跑的份

🐳 :我对你的期望就是能多学点新技术,有一些新想法就是好的了
🐠 :谨遵教诲
在这里插入图片描述

4. 大佬的代码层分享(通用)

4.1 关于变量

  • 避免全局变量 —— 很少有人能陪你走一辈子,变量也是如此(别遇见一个妹子就觉得她是孩子他妈了),变量通常在某一段执行完就没用了。所以不要急于去声明全局变量。
  • 任何一个变量都要细心的去管理 —— 从声明到使用,到回收
  • 避免去改变变量的类型 —— 比如定义了一个变量a是字符串,那就一直当字符串去用,可以避免许多不可预知的错误(虽然我们可以去修改为不同类型)

4.2 关于报错

  • 不要去忽略错误 —— 很多人觉得:代码和人,有一个能跑就行了,这是大错特错的。我们应该去重视每一个报错,哪怕是警告,我们可以不去处理,但是一定得知道它是个什么意思
  • 尽量避免报错 —— 做好容错处理,特别是取值的时候,你得做好预案:这里没值的时候要怎么去处理,才能保证程序能正常运行
    在这里插入图片描述

4.3 问题排查

  • 调试只是查询问题的方法之一,就拿断点来说,查看相应的数据并不一定能找到问题所在。
  • 了解断点如何设置,应该设置在哪等就涉及到问题排查,是采用断点,还是查看日志,还是选择别的方式,也是问题排查
  • 问题排查是一个思考方式,怎样发现问题?为什么没能发现问题?才是重点。发现问题后如何解决问题?
  • 一方面取决于经验的积累,一方面取决于思考方式。相对之下,工具的使用就比较弱化,脑子里的经验和分析才是最重要的

本文取自于本人的真实经历,确实跟着大佬学到了不少,希望能对大家有所帮助

1. 如有错误,敬请指出

2. 原创不易,还请各位客官动动发财的小手支持一波(关注、评论、点赞、收藏)
3. 拜谢各位!后续将继续奉献优质好文
4. 如果存在疑问,可以私信我

在这里插入图片描述