做程序界中的死神,获取自己的灵力修养

标题解读:标题中的死神,是源自《死神》动漫里面的角色,斩魂刀是死神的武器,始解是斩魂刀的初始解放形态,卐解是斩魂刀的觉醒解放形态,也是死神的大招。意旨做程序界中程序员的佼佼者,一步一步最终修炼自己的大招。

本文选自左耳朵耗子叔的程序员练级攻略程序员修养的内容,看完我还是收获非常大,感觉自己距离达到一个入门的程序员修养,还差之千里,以此来分享一下。

了解程序员的修养

要了解程序员的修养,你可以先从 Quora 上的这个贴子开始 “What are some of the most basic things every programmer should know?”,我摘录一些在这里供你参考。

  • Bad architecture causes more problems than bad code.You will spend more time thinking than coding.
  • The best programmers are always building things.
  • There’s always a better way.
  • Code reviews by your peers will make all of you better.
  • Fewer features for better code is always the right answer in the end.
  • If it’s not tested, it doesn’t work.
  • Don’t reinvent the wheel, library code is there to help.
  • Code that’s hard to understand is hard to maintain.
  • Code that’s hard to maintain is next to useless.
  • Always know how your business makes money, that determines who gets paid what.
  • If you want to feel important as a software developer, work at a tech company.

英文能力

必须指出,再往下走,有一个技能非常重要,那就是英文。如果对这个技能发怵的话,那么你可能无缘成为一个程序员高手了。因为我们所有的计算机技术全部来自于西方国家,所以如果你要想成为一个高手的话,那么必须到信息的源头去。英文的世界真是有价值的信息的集散地。你可以在那里,到官网上直接阅读手册,到 StackOverflow 上问问题,到 YouTube 上看很多演讲和教学,到 GitHub 上参与社区,用 Google 查询相关的知识,到国际名校上参加公开课……

如果你的英文能力有问题的话,那么基本上来说,你无法成为一个高手。因此,学好英文是非常有必要的,我说的不只是读写,还有听和说。相信你在学校里学过英文,有一定的基础。

所以,我给你下面的这些建议。

  1. 坚持 Google 英文关键词,而不是在 Google 里搜中文。在 GitHub 上只用英文。
  2. 用英文写代码注释,写 Code Commit 信息,用英文写 Issue 和 Pull Request,以及用英文写 Wiki。
  3. 坚持到 YouTube 上每天看 5 分钟的视频。YouTube 上有相关的机器字幕,实在不行就打开字幕。
  4. 坚持用英文词典而不是中文的。比如:剑桥英语词典 或是 Dictionary.com 。你可以安装一个 Chrome 插件 Google Dictionary。
  5. 坚持用英文的教材而不是中文的。比如:BBC 的 Learning English,或是到一些 ESL 网站上看看,如 ESL: English as a Second Language 上有一些课程。
  6. 花钱参加一些线上的英文课程,用视频和老外练习。

问问题的能力

提问的智慧(How To Ask Questions The Smart Way)一文最早是由 Eric Steven Raymond 所撰写的,详细描述了发问者事前应该做好什么,而什么又是不该做的。作者认为这样能让问题容易令人理解,而且发问者自己也能学到较多东西。

此文一经发出,就广受好评,被广泛转载并奉为经典。该文也有 简体中文翻译版 被流传着,所以在华人界也是篇很有名的文章。有两个著名的缩写 STFW(Search the fxxking web)以及 RTFM(Read the fxxking manual)就是出自本文。

写代码的修养

除了《代码大全》外,你还需要补充一些如何写好代码的知识,有以下几本书推荐。

推荐书籍

  • 《重构:改善既有代码的设计》
  • 《修改代码的艺术》
  • 《代码整洁之道》
  • 《程序员的职业素养》

安全防范

在代码中没有最基本的安全漏洞问题,也是我们程序员必须要保证的重要大事,尤其是对外暴露 Web 服务的软件,其安全性就更为重要了。

推荐书籍

  • 《OWASP Top 10 2017 PDF 中文版》
  • 《Hardening Your HTTP Security Headers》

软件工程和上线

系统上线是一件比较严肃的事,这表明你写的软件不是跑在自己的机器上的玩具,或是实验室里的实验品,而是交付给用户使用的,甚至是用户付费的软件。对于这样的软件或系统,我们需要遵守一些上线规范,比如,需要认真测试,并做上线前检查,以及上线后监控。

推荐书籍

  • 《完美软件:对软件测试的各种幻想》
  • 《Google 软件测试之道》
  • 《Monitoring 101》

小结

总结一下今天分享的主要内容。程序员修养看似与程序员练级关系不大,实际上却能反映出程序员的工程师特质和价值观,决定了这条路你到底能走多远。

有修养的程序员才可能成长为真正的工程师和架构师,而没有修养的程序员只能沦为码农。因此,在这篇文章中,英文能力、问问题的能力、写代码的修养、安全防范意识、软件工程和上线规范等这些能力的训练和培养将为后续的学习和发展夯实基础。

该笔记摘录自极客时间课程
《左耳听风》

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码

)">
< <上一篇
下一篇>>