聊聊程序员的自我修养

码农有道公众号

共 2761字,需浏览 6分钟

 · 2022-08-04

聊到程序员的自我修养,不少同学可能会想到一本讲述编译与链接的书,这本书的名字也叫<<程序员的自我修养>>,是国人难得写的比较不错的一本计算机技术书籍,不过本文要讨论的内容和这本书可以说没有一点关系。

今天的话题面向的程序员,就是所有的正在写代码或者曾经写过代码的程序员,也包括广义上的程序员,例如项目经理、架构师等等。

在中国,写程序,我相信对于大多数程序员来说不仅仅是一种兴趣,更多的时候,更是一种养家糊口的技能,毕竟,程序员的高薪已经是家喻户晓的事情了。

对于大多数程序员来说,能成为Linus Torvalds等这些大神这样的人几率确实小的几乎可以忽略不计,但是,在普通人当中,程序员的水平也是良莠不齐,大公司有厉害的程序员,优秀的架构师,不少公司也有一些工作很多年的“bug工程师"。

那么问题来了,同样是工作若干年,为什么差距就出来了,我想,这些优秀的程序员肯定是有一些“自我修养”,是最基础的,是普世的。如果你能从这些修养开始约束自己,我想比读几本技术书籍管用很多。

好了,掰扯了那么多废话,下面进入正题。

何为程序员的自我修养?

何为程序员的自我修养?从正面回答这个问题可能很难说清楚,反向描述可能更通俗易懂一些,自我修养的对立面是“没有修养”,那么我说说这么多年的工作、学习中,遇到的一些我认为“没有修养”的程序员形态:

1、程序员小张遇到了一个开发问题,在网上搜到有个帖子讲解了相关话题,他看完就给博主留言,我的邮箱是xxx,麻辛苦博主把源码发给我一下!

2、程序员小张进公司3个月了,觉得代码写完能通过测试就OK了,在写代码的时候能省就省,客户反馈有问题也不主动解决,敷衍为主。

3、程序员小张正在写一个功能模块,需要进行某种加密,到百度搜到了一个编码模块,看不明白具体写了什么,但是放到程序里刚好适用,于是就这么原封不动放进去了。

4、程序员小张要对某个功能进行研发,项目经理对他说,这个功能应该能搜索到,你去搜搜看,小张就在百度搜啊搜,一天过去了啥都没找到,项目经理来到小张身边坐下,换了个关键词,1分钟就搜到了解决方案。

5、程序员小张某天非常不高兴,因为他的项目经理和项目组的产品人员又变更需求了,新的需求又要对整个结构进行大的调整,小张很郁闷,到一个QQ里发泄情绪,说了这个事,于是立马,QQ群里面炸开锅了,程序员小李说,对,产品就是狗日的!程序员小王说,对,他妈的项目经理整天高枕无忧,就知道压榨开发人员!。

我想,有些人可能已经明白我要说什么,有些人可能还不明白,具体的话我也说不出来,只能用一句话来概括就是:在编写代码的过程中,善于学习、掌握方法、勤加思考、勤奋努力、持之以恒,长此以往,你的成长是非常快的。

以上这些还是比较抽象,那么说点实际的,程序员具体如何达成“较高的修养”,每个人各有自己的办法,一两句话是说不清楚的。我多年工作过程中,和腾讯最年轻的T4专家共事过,和百度92年的的T8曾经是一个团队同事,只能通过观察这些大牛的行为举止来讲述自己的观点。主要从以下四个大的方面入手:

  • • 1.程序员基础

  • • 2.搜索方法

  • • 3.英语能力

  • • 4.编程习惯

程序员基础的基础

一个好的开发人员,仅能够熟练的进行代码编写是完全不够的,需要深刻的理解技术原理和业务逻辑,能够全面、高效、严谨的去处理任何软件程序和业务问题,而要做到这点,扎实的个人基础和技术基础是必不可少的。

扎实的计算机基础才是决定程序员发展的上限关键因素,而不是你今天学了什么语言,明天又学了xx框架。下面说的一些基础,需要我们重点对待和提高。

  • • 数据结构

  • • 操作系统

  • • 数据库

  • • 编译原理

  • • 算法

  • • 体系结构

上面说的每一项都是搭成一个优秀的软件的基石,市面上也有很多相关的经典书籍,其实大家特别是毕业没几年的同学可以在平时多积累,不要丢了这些技能。

搜索方法

面向谷歌编程,这并不是一句戏言,事实上,任何一个开发人员,都应当具备搜索能力,甚至是一定要具备搜索能力。

同样水平的程序员,会不会用搜索,可能会在程序开发质量、效率上出现数倍的差异,这绝不是危言耸听。因此,掌握高效、先进、灵活的搜索方法和技巧,是非常重要的。提高搜索能力,主要的方法介绍如下:

  • • 搜索源选择:选择百度还是谷歌,或是选择专业的程序员论坛,这里给出我的一个顺序仅供参考:StackOverFlow网站 > 谷歌 > 百度。

  • • 关键词构造:总体遵循的原则是,准确和简洁,这个搜索多了自然就知道了。

  • • 联想搜索:举一个通俗的例子,比如想使用C#,利用某个.NET类处理一种HTTP通讯,但是一直搜索不到完美的结果,不过换个思路,考虑到VB.NET也是.NET体系,和C#完全相通,那么也可以试着用VB.NET关键词进行搜索,搜索到完美代码后再临摹成C#代码。

英语能力

计算机这个学科是从美国发展起来的,决定了编程语言一定是基于英语的,在编程过程中,从语言的关键词到文档的内容又或是搜索引擎的搜索结果,都不可避免的会遇到英文。另外每出现一种新技术,其一手资料一般都是英文,等到对应的翻译版本出来后,这个技术可能已经流行好几年了。

但是,作为程序员,也不需要太高的英语水平,只要能达到以下几个点就够用了:

  • • 1.在自己技术知识范围内的任何的英文的技术手册、文档、文章或是问题描述,能够读懂8成的内容含义,能够读懂完整的技术含义。

  • • 2.对常见的编程逻辑和核心关键词,能够用英文组织问题的描述,最简单的也行,只要能被搜索引擎读懂就可以。比如如何在C#中把整形转换为字符串类型这个问题,最简易的英文描述就是 C# Integer Covert To String。

编程习惯

可以说任何一个优秀的程序员,都有他自己养成的一套良好的习惯。有一些编程习惯,看似不足为道,可是如果坚持下去,最终都能收到意想不到的奇效。下面列举一些特别重要并且通用的好习惯。
  • • 快捷键的使用

  • • 好的代码注释

  • • 好的命名规则

  • • 数据备份

  • • 不将就的编程逻辑,甚至于要有一点代码洁癖

  • • 邮件工作方式

是不是这些习惯其实很简单,其实今天提到的这些提升程序员修养的几个点看起来都很简单,而且大部分同学其实应该也是知道的,但是扪心自问,平时能真正去认真思考并实践的有多少同学?或许,坚持才是程序员最大的自我修养,101%和99%的365次方的故事、1万小时的道理大家都听过,以此和各位共勉!

—  —

欢迎关注原创技术号↓↓↓
如有帮助,辛苦点赞和在看
浏览 35
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报