左耳听风_073_72_程序员练级攻略程序员修养

你好,我是陈浩网名猪耳朵house.在完成前面的入门知识学习之后呢,我们就要向专业的计算机软件开发进军了。

但是在学习那些专业的知识之前啊,我们需要先抽一部分的篇幅来说一下程序员的修养。

那这个是程序员的工程师文化啊,也就是程序员的价值观。

因为我觉得如果你的技术修养不够的话,你学再多的知识啊也是没有用的。

要了解程序员的修养呢,你可以先从corore上的一个帖子开始,我在文中摘录了一些供你参考。

然后就是ninety ceseven things, every prommmer should know这篇文章。

那其中呢有九十七个非常不错的编程方面的建议。

那这篇文章呢是比较经典的,别被九十七这个数字吓住啊,你可以快速的浏览一下,会让你有不同的感觉。。

另外呢在工作一段时间之后再来读啊,你会更有感觉。

那这里呢我必须指出再往下走啊,有一个技能非常重要啊,那就是英文。

如果对这个技能发怵的话,那么你可能无缘成为一个程序员高手了。

因为我们所有的计算机技术全部都来自于西方国家。

所以说如果你想成为一个高手的话,那么就必须要到信息的源头去。

那英文的世界啊真是有价值的信息的集散地。

你可以在那里啊到官网上直接阅读手册,到stack or flow上问问题。

到youtube上看很多的演讲和教学,到gyub上参与社区,用google来查询相关的知识,到国际名校上参加公开课等等。

如果你的英文能力有问题的话,那么基本上来说啊你就无法成为一个高手。

因此学好英文是非常有必要的啊,我说的不只是读写,还有听和说,相信你在学校里已经学过英文啊,有一定的基础。

所以说我在这里呢给你这样一些建议。

第一呢就是要坚持google英文关键词,而不是在google里面搜中文。

那第二呢,就是在gate half上面,只用英文,用英文写代码,注释写code coming信息,用英文写艺术和pool request呃,还有用英文写vicky.那第三呢就是坚持到youtube上,每天看五分钟的视频,youtube上有相关的机器字幕,那实在不行呢,就打开字幕。

第四呢就是坚持用英文的词典,而不是中文的。

比如剑桥英语词典或者dictionary点com,你也可以安装一个chrome插件,google dictionary.那第五呢就是坚持用英文的教材,而不是中文的。

比如BBC的learning english啊,或者到一些ESL网站上看一看。

比如ESL english as a second language.这上面啊有一些课程。

那第六呢就是花钱参加一些线上的英文课程,用视频和老外来练习。

另外就是对一个程序员来说啊,问问题的能力也很重要。

提问的智慧,这篇文章最早是由eric、 steven riymons所撰写的,他详细描述了发问者,事前应该做好什么,而什么又是不该做的。

作者认为啊这么做能让问题更容易让人理解,而且发问者自己也能学到比较多的东西。

那这篇文章一发出来啊,就广受好评,被广泛的转载并奉为经典。

那这篇文章呢也有简体中文,翻译版的流传着。

所以在华人界呢也是篇很有名的文章,这里有两个著名的缩写,STFW和RTFM啊,就是出自本文。

另外呢还有一个经典的问题叫做x web shopping.对于我来说啊,这是一个很容易犯的错误,所以你也要小心避免。

然后呢你就可以到stack of flow上面看一看如何问问题的一些提示。

比如说FAQ for stack exchange site这篇文章作为一个程序员,不做伸手党,你必须要读一读这几篇文章,并且啊要努力践行。

那除了代码大全之外呢,你还需要补充一些如何写好代码的知识。

那我这里啊推荐这几本书,那第一本呢是重构改善,既有代码的设计。

那这本书是martin follow的经典之作。

那这本书的意义不仅仅在于改善既有代码的设计,它也指导了我们如何从零开始构建代码的时候避免不良的代码风格。

那这个是一本程序员必读的书。

那第二本呢是修改代码的艺术。

那这本书啊是继重构之后,探讨修改代码的技术的又一个里程碑式的著作。

而且从涵盖面和深度上都超过了代码大全和重构。

这两部经典。

作者把理解测试和修改代码的原理、技术和最新的工具与解依赖技术和大量开发和设计优秀代码的原则、最佳实践相结合。

那许多的内容啊非常深入。

这本书不仅可以帮你掌握最顶尖的修改代码的技术,还可以大大提高你对代码和软件开发的领悟力。

那第三本呢是代码整洁之道。

这本书提出了一种观念啊,就是代码质量与它的整洁度成正比,干净的代码既在质量上更为可靠,也给后期的维护和升级奠定了良好的基础。

那本书作者给出了一系列行之有效的整节代码操作实践。

那这些实践在本书中啊体现为一条条的规则,并且附上了来自现实项目正反两面的范例。

那第四本呢是程序员的职业素养。

这本书是编程大师鲍勃大叔四十余年编程生涯的心得体会,讲解了成为真正专业的程序员。

需要什么样的态度和原则,需要采取什么样的行动?作者以自己和身边的同事走过的弯路和犯过的错误为例子,给后来人引路,帮助读者的职业生涯迈上更高的台阶。

另外呢作为一个程序员啊,code review是一个非常重要的程序员,修养coda view对我的成长非常有帮助啊,我认为没有coda view的公司呢都没有必要待。

因为不做coreview的公司呢是一定不尊重技术的。

我在文中呢还列了几篇,我觉得还不错的q review的文章供你参考。

那除了cover六之外呢,unit test也是程序员的一个很重要的修养,写uni test的框架。

一般来说呢都是从j unit衍生出来的啊,比如CPP unit之类的那关于join uni的使用呢最好的学习方式啊,就是到它的官网上看,j uni user get.然后呢,我同样在文中推荐了几篇文章供你参考。

那接下来一个很重要的修养呢就是安全的防范。

在代码中没有最基本的安全漏洞。

问题是我们程序员必须要保证的重要大事,尤其是对外暴露外服务的软件,那它的安全性啊就更为重要了。

那对于在web上经常出现的安全问题,有必要介绍一下OWSP啊,也就是open web application security project.那OWASP呢是一个开源的非盈利的全球性安全组织,它致力于应用软件的安全研究,它被视为web应用安全领域的权威参考。

在两千零九年的时候呢,国际信用卡数据安全技术PCI标准将它列为必要组件。

而美国国防信息系统局、欧洲网络与信息安全局,还有美国国家安全局等政府机构所发布的美国国家和国际立法标准、准则和行业实务守则,也参考引用了OWASP,还有美国联邦贸易委员会FTC,强烈建议所有企业都需要遵循OWASP使大web弱点防护守则。

所以说对于OWSP top ten项目是程序员非常需要关注的最基本的啊也是最严重的安全问题。

现在呢它已经成为了一种标准。

我在文中呢也给出了他的中文版链接。

那接着呢还有一些安全编程方面的geadline啊,你同样可以点开链接看一看。

此外呢还有一篇和HTTP相关的安全文章,也是每个程序员都必须要读的名字,叫做hardening your HTTP security headers.那最后我想说的是防御性编程,它的英文叫defensive programming啊,它是为了保证对程序的不可预见的使用,不会造成程序功能上的损坏。

那它呢可以看成是为了减少或者消除墨菲定律影响的想法。

那防御式编程主要是用于可能被滥用恶作剧,或者无意的造成灾难性影响的程序上。

那具体呢你可以参考我在文中推荐的这两篇文章。

那程序员另一个修养呢体现在软件工程和上线方面,系统上线呢是一件比较严肃的事儿。

因为这个表明你写的软件不是跑在自己机器上的玩具,或者是实验室里的实验品,而是要交付给用户来使用的甚至用户付费的软件。

那对于这样的软件或者系统,我们需要遵守一些上线规范。

比如说需要认真的测试,并做上线前的检查啊,以及上线之后的监控。

那关于测试呢,我推荐两本书,第一本是完美软件对软件测试的各种幻想。

那这本书重点讨论了与软件测试有关的各种心理问题和它的表现与应对方法。

作者首先阐述了软件测试之所以如此困难的原因啊,就是人的思维不是完美的。

而软件测试的最终目的呢就是发现对改善软件产品和软件开发过程有益的信息。

所以软件测试呢是一个信息获取的过程。

那第二本书呢是google软件测试之道。

他描述的测试解决方案揭示了测试架构是如何设计实现和运行的那同时呢他也介绍了软件测试工程师的角色,还讲解了技术测试人员应该具有了技术技能,然后呢还阐述了测试工程师在产品生命周期的职责。

最后呢还讲述了测试管理,并且对google的测试历史上和主要产品上发挥了重要作用的工程师做了访谈。

那如果有人想建立一个类似google的测试流程或者团队,那他们呢会有很大的受益。

那当你的系统要上线的时候,你是不是已经做好上线的准备了呢?那文中呢有两个cheaclist供你做上线前的一些检查。

另外呢monitoring one o one是一篇运维方面的入门文章。

那告诉你最基本的监控线上运行软件的方法和实践。

好了,我总结一下今天分享的主要内容。

程序员的修养看似与程序员练习关系不大,实际上却能反映出程序员的工程师特质和价值观,决定了这条路你到底能走多远?有修养的程序员才可能成长为真正的工程师和架构师,而没有修养的程序员呢只能沦为码农。

因此在这节课中啊,我指出了我认为比较重要的几个方面啊,也就是英文能力,问问题的能力,写代码的修养、安全防范意识、软件工程和上线规范等等。

那这些能力的训练和培养将为后续的学习和发展夯实基础。

另外呢,我在文末的附录给出了各种编程的规范供你参考。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值