怎样成为一名专业的程序员

分享编程技能、互联网技术、生活感悟、打造干货分享平台,将总结的技术、心得、经验分享给大家,这里不只限于技术!还有职场心得、生活感悟、以及面经。

C语言是面向过程的,而C++是面向对象的

C和C++的区别:

C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。

C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”。

C与C++的最大区别:在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。

一、前言

“专业”,在百科里有下面这三种解释:

学校里的学科

生产部门里的业务部门

有知识修养的专门职业者;职业画家[演员等],职业选手;内行,专家

标题中的“专业”,指的是第三种解释。请注意这个词——“有知识修养”,有知识还不够,还要有修养。

职场里各行各业,唯有“专业人士”,才能够受人尊重;人们寻找帮助时,首先想到的也是对应领域里的“专业人士”。我们说一个医生很专业,除了他医术精湛之外,还有他心系患者、尽心尽责的医德,同样的,对于程序员,我们除了要有犀利的技术之外,还要有对应的职业修养。

二、业余选手 vs 专业主义

小编推荐一个学C语言/C++的学习裙【 二六三,六八八,二七六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

面对同样一件事情,业余程序员(Amateurs)和专业程序员(Majors)往往有不同表现:

1)看到烂代码时

A:WTF!!! 这代码谁写的!

M:让我来重构它

2)项目进度紧张

A:哎,时间那么紧,考虑不了那么多了,先把功能做了再说

M:我得找经理商量,这么短时间是不可能把这个功能完全做好的

3)被同事打断时

A:要么马上被从工作中带走,“啊,怎么啦”,要么很不耐烦,“少烦我,没看我这正忙么”

M:“稍等一下哈…”,然后记下当前工作的上下文信息,让自己重新回到工作时,能尽快进入状态

4)业余时间

A:终于有时间好好睡个懒觉了

M:终于有时间学习新知识了

……

最近阅读了一些关于程序员职业素养的书籍,发现专业的程序员,大都有下面这些特质:

三、主动学习

小编推荐一个学C语言/C++的学习裙【 二六三,六八八,二七六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

专业的程序员懂得不断精进自己的专业技能,抽出时间来学习。就像《欢乐颂》里的赵医生一样,带上你的Mac,找一家安静的咖啡厅,待上一个上午,看最新的医学文献。程序员也要这样做,必须不断地更新自己的技能,提高自己的“基线”。

这里的基线是一个很重要的概念,用吴军老师的话来说就是:

每个人的基线都不一样,民间科学家的基线,决定了他们就算奋斗一生,最多也只能到达中科院科学家的基线。

我们只有通过不断地学习,才能用知识把自己垫高,站的更高,才能看的更远。

四、个人品牌意识

《软技能——代码之外的生存指南》里,作者提到,程序员要学会自我营销,在业界打造自己的个人品牌。而在工作中也一样,对公司和同事来说,你的名字就是一个品牌。别人一提到你的名字,就会想到这人的代码写的怎么样、看他的代码累不累、实现的功能质量怎么样、Bug多不多…

专业的程序员会努力打造和维持自己的个人品牌在同事心目中树立一个品牌的形象。

五、代码洁癖

专业的程序员不会仅仅满足于实现功能,他们还会主动优化自己的代码。

他们会闻到自己代码里的坏味道,对变量命名、函数、注释等进行重构优化。

专业的程序员遵守童子军军规——“让营地比你来时更干净”,他们知道“破窗”的危害,他们有代码洁癖。

六、不畏惧任何代码

专业的程序员在开发之前,会阅读相关模块的代码,因为他们知道,文档会撒谎,但是代码不会。不管代码写的多难看,他们都知道,那才是反映系统真实运作机制的“文档”。

如果代码写的非常一般,他们会对其进行一小步一小步的重构,每次重构之后都会运行单元测试,以确保自己的改动没有对原先功能造成影响。

如果这个模块之前没有足够的单元测试,那么在开始重构之前,专业的程序员会主动补充测试用例,因为他们知道,如果自己连测试用例都写不出来,就根本谈不上理解了这个模块,也就根本没资格去动这块代码。

如果代码根本无法正常运行,在很多情形下都有Bug,那么专业的程序员不会浪费时间去重构,他们会选择重写。

重构,是在不改变代码外在行为的前提下,对代码作出修改,以改进程序的内部结构。 —— 《重构》,Martin Fowler

在这里墙裂推荐大家,把《重构》这本书放在自己座位旁边,你不必一下子把这本厚厚的“重构字典”看完,因为它就是一本字典,在你需要重构的时候,去里面检索就好。

七、敢于说不

专业的程序员懂得主动掌控自己的工作,如果有一个需求最早也要在周五才能完全,但是领导要求必须在周三之前,他们不会说,“好,我尽量”,因为那不仅是在欺骗自己,还是在欺骗经理,最后伤害的是整个团队。他们会跟经理商量,如果要在周三之前完成,哪些功能是无法实现的,让经理作出取舍。

与此相反,不专业的程序员,往往会屈服于经理的权威,最终交付一个代码质量极差、还带有很多Bug的功能。

《程序员的思维修炼》中提到了德雷福斯模型,这个模型对“新手”的定义就是——只会按照指令列表做事,如果你不懂得说不。把别人交给你的每一件事都接下来,那你和“新手”也没什么区别了。

不要以为你说“不”会辜负了经理的期望,相反,答应一件自己完成不了的事情才是对经理最大的辜负。学会说不,恰恰是你靠谱的表现。人们都喜欢真实的人,经理也不例外。

八、谨慎承诺 言出必行

专业的程序员不会轻易许下承诺,如果承诺,那必定是他自己能够完全掌握的事情,而不是承诺需要依赖他人的事情。

比如你的模块需要依赖Peter的模块,你就不能承诺既把自己的模块开发完成,还可以跟Peter的模块完成对接,因为对接可以完成地前提是Peter能够按时交付他的模块,而这不是你能控制的。你能承诺的只有跟Peter一起坐下来,讨论一下对接的方案,然后每天互相汇报一次各自的开发进度。

专业的程序员还懂得及时汇报风险。有些事情确实很难预测,这时候你就要去调整别人对你的预期,尽早向你的承诺对象发出预警,跟他沟通有没有更好的解决方案。Peter就经常干这种事,每当工作被堵塞时,他会主动地跟项目经理说,“Bob,帮忙看个问题”,“Bob,感觉周三之前完成有很大风险啊…”

九、不在状态不好的时候写代码

刚和老婆吵了一架,然后回去公司,心烦意乱地写代码?

通宵定位问题,然后在疲惫不堪时打算修改代码解决这个Bug?

专业人士不会这么做,他们知道,在状态不好的时候写代码,只会写出一堆Bug。

十、善于对付中断

编程时总免不了被同事打断,一个突如其来的电话会议,右下角突然冒出来的聊天信息,还有Peter突然从背后过来的拥抱…

面对“打断”,专业的程序员懂得说,“稍等一下…”,然后他们会在记下当前工作的上下文信息,让自己重新回到工作时,能尽快进入状态。

当然,如果你在跟别人结对编程,或者你用了TDD,那么保存上下文信息就变得非常简单。

十一、重视单元测试

专业的程序员知道单元测试的重要性,他们会把测试代码和产品代码看的一样重要,他们还会使用TDD。

十二、管理时间

小编推荐一个学C语言/C++的学习裙【 二六三,六八八,二七六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

专业的程序员对待会议的三项原则:

拒绝那些与自己无关的会议;

如果进入会议后发现自己没必要参加,那么安静的离席;

尊重对方的时间。只召集那些必要的同事参加会议,并且会在会议前整理好会议的主题和议程。

十三、管理精力

专业的程序员能够让自己精力充沛地投入到工作中。

他们知道保持充足的睡眠,知道通过一些体力活动,来放松自己的大脑。

十四、管理压力

专业的程序员会尽量避免压力,他们谨慎承诺,不答应做不到的事情;他们保持代码的整洁,方便问题定位和重构代码;他们坚持着自己的编码原则,对自己交付的功能有很大信心,就算有Bug,也能很快定位处理。

而当压力来临时,专业的程序员不会惊慌失措,因为他们了解他们负责的代码的逻辑,如果有不懂的地方,他们会及时沟通,向他人求助。

十五、不固执

专业的程序员不会在一条道上耗费太多时间,一旦发现这是个死胡同或者泥潭,就会及时抽身,往回走。

十六、编程之外的技术

专业的程序员不会是离开了编辑器就渴死的鱼,他们具备计算机原理、TCP/IP协议这些计算机学科的基础知识,他们对常用的Shell命令牢记于心,他们还善于使用各种工具的快捷键来提升他们的工作效率。

我的同事Peter就是这样一个专业的程序员,作为一个前端工程师,他对网络方面的知识非常熟悉,VLAN、网关、掩码、信任域等等,简直就是一本网络百科全书,他操作起Linux命令行也是相当熟练,出现问题了,需要定位,他会说,“给我环境信息,我上去看看”,然后就是各种查找日志、抓包分析,他敲键盘的速度也是贼快贼快,我想,这大概是我见过最完美、最酷炫、最专业的程序员了吧。

以上就是我总结出来的专业程序员的特质。你心目中专业的程序员还有哪些好的职业素养呢?欢迎在评论区里和大家一起分享!让我们一起做一只既有技术,又有修养的程序猿!

如果您觉得不错,请别忘了转发、分享、点赞让更多的人去学习, 您的举手之劳,就是对小乐最好的支持,非常感谢!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,734评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,931评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,133评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,532评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,585评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,462评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,262评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,153评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,587评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,792评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,919评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,635评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,237评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,855评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,983评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,048评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,864评论 2 354

推荐阅读更多精彩内容

  • “专业”,在百科里有下面这三种解释: 学校里的学科 生产部门里的业务部门 有知识修养的专门职业者;职业画家[演员等...
    柳树之阅读 4,911评论 20 155
  • 本文把程序员所需掌握的关键知识总结为三大类19个关键概念,然后给出了掌握每个关键概念所需的入门书籍,必读书籍,以及...
    dle_oxio阅读 11,111评论 6 244
  • 东方时尚学车全攻略 我想记录下这段经历,并不是因为东方时尚给我好处,让给做广告,不过找我这样的做广告,估计得...
    赵四小姐简书阅读 1,366评论 3 0
  • 其实你早就知道那是一个传说 关于鹊桥或者银河 纤云弄巧飞星传恨,终不过是后人 惆怅此情难寄时的托词 那勤劳一生的老...
    安之若零阅读 195评论 1 5
  • 今天的关键词:细节文章的主题是:细节真的那么重要吗?它真的能决定成败吗? 聊聊小节与细节的区别吧! 俗话说:细节决...
    30065阅读 1,985评论 0 0