初出茅庐的你带着仍残留墨香的毕业证书踏上工作岗位,马上就被书上没写的规则和各种繁杂的日常事务来了个下马威。这样的故事实在是司空见惯,编程工作也不例外。
没有几个学生能 100% 为自己的第一份真正的工作做好准备。如果你不想成为其中之一,请学学以下这 10 项无需手把手指导就能学会的基本技能:
1、版本控制系统(VCS)
VCS 也许是计算机课程最大的疏漏。这些课程光记得教如何写代码,但却往往忘记教学生如何去管理代码。每一个程序员都应该懂得利用 Git 或 Subversion 有效地创建 repository(仓库),编辑与提交代码,进行分支与合并,了解项目工作流。
2、学会写作
身为程序员要写的不只有代码。你还要写项目的发布说明,给版本控制写提交消息,在系统里面写漏洞报告。这些和许多地方都需要清晰有效的文字交流—但这个技能计算机科学却很少强调。
3、正则表达式
正则表达式本身就是一门语言,每一个现代程序员都要擅长。每一门现代语言都支持正则表达式或者有相关标准库。如果代码需要校验某字符串是否含有 5 个字符、1 个破折号和 1 个数字,你应该马上就能写出 /^[A-Z]{5}-\d$/。
4、库的使用
现在已经是 2014 年,所以没人需要用正则表达式从 URL 析取主机名了。因为每一门现代编程语言都有执行常用功能的标准库。
程序员需要明白,那些经过开发、测试和调试的代码通常要比自己重新写的代码更好。更重要的是,无需编写的代码实现起来要快得多。
5、SQL
很多人的 SQL 都是在工作中学会的。数据库怎么会是选修课呢?有不用数据库的吗?
把数据存进平面文件的时代已经结束了。一切东西都要进出数据库,而 SQL 则是存取数据的语言。这是一门说明性语言,不是程序语言,所以用它来解决问题时需要新的思考方式。每一个程序员都应该了解数据库标准化基础,能够执行 SELECT(及 INNER、OUTER JOIN)、INSERT、UPDATE 和 DELETE。
6、会用IDE、编辑器及CLI工具
只懂用锯子的木匠永远也无法出师,所以计算机专业毕业的人只懂 Notepad 或 pico 令人惊诧。编程工具帮助操纵代码及其他数据,令程序员生活变得容易。所以每一个程序员都应该知道命令行、shell 脚本、find、grep 及 sed 的使用。
7、调试
每一个程序员都应该知道利用交互式调试器或在代码中点缀一些输出语句来调试程序。通过逐步求精来跟踪问题的能力实在是太重要了。
8、防错性编程
错误总是难免的,哪怕是明星程序员也不例外。失控是世界的常态,出错毫不奇怪。防错性编程正是理解了这个事实。如果东西不会不出错,我们就不会检查文件打开成功与否,不会检查客户 ID 是否合法数字,不用测试代码是否允许正确。
程序员需要知道,编译器告警是有用的工具,可让我们生活得更舒适,而不是要避而远之的麻烦事。每一个程序员都应该知道为什么每一个 PHP 程序都要这样开头:
set_error_reporting(E_ALL)
每一个 Perl 程序都要写上这些语句:
use strict; use warnings;
9、团队协作
很少编程工作会让你自己一个人完成,如果你经常这么做,智力会受损,表现会变弱。你的代码必须与别人的交互或者混合。再有才的程序员,如果无法与别人协作,都会给项目造成负面影响,并迅速成为组织的负担。
10、利用现有代码
在学校的时候,每一次作业都是一个新项目。但现实世界不是这样的。对于刚工作的人来说,所接到的第一项任务往往是修改代码漏洞。然后,再在现有代码库的基础上为现有系统增加一个小功能。设计新代码那是几个月后的事情,如果幸运的话。
相关推荐
### 优秀程序员应知的关键素质 #### 一、踏实的工作态度 成为一名优秀的程序员,首先要有踏实的工作态度。这意味着在工作中需要做到低承诺、高实现。具体来说,就是在承诺任务完成的时间和质量时要保守估计,确保...
《C语言深度解剖:解开程序员面试笔试的秘密》是一本专为C语言学习者和面试者准备的指导书籍。它深入探讨了C语言的核心概念、语法特性以及在实际编程和面试中的应用,旨在帮助读者更好地理解和掌握这门基础且强大的...
《C语言深度解剖:解开程序员面试笔试的秘密》是一本专为程序员面试和笔试准备的指导书籍,旨在帮助读者深入理解C语言的核心概念,并提升在技术面试中的竞争力。书中涵盖了C语言的基础语法、高级特性以及在实际编程...
"写给即将入行的程序员的一封信" 该文档提供了 Akash 对程序员的建议,旨在帮助新手程序员快速入门。以下是该文档中的重要知识点: 1. 不要等待,马上开始编程。编程经验是最重要的,不要等待学习完所有知识再开始...
C语言深度解剖(第2版),书中知识点虽然都是基础,但都是精华,不妨先做最后的练习题,再细读各章,作为每次知识点复习都具可读性。
《C语言深度解剖:解开程序员面试笔试的秘密》由作者结合自身多年嵌入式c语言开发经验和平时讲解C语言的心得体会整理而成,其中有很多作者独特的见解或看法。由于并不是从头到尾讲解C语言的基础知识,所以《C语言深度...
【程序员从初级到中级10个秘密】 在IT行业中,程序员的成长之路往往充满挑战与机遇。从初级到中级,这是一个质的飞跃,涉及到技术深度、项目经验、问题解决能力等多方面的提升。以下是对程序员从初级到中级进阶的10...
以下是对标题和描述中提到的十个程序员习惯的详细解释: 1. **学无止境**:持续学习是优秀程序员的基石。随着技术的快速发展,必须不断关注新出现的语言、框架和编程实践,通过阅读专业文章、参加在线讨论和社区...
本书名为《高效程序员的45个习惯 敏捷开发修炼之道》,由Venkat Subramaniam和Andy Hunt两位作者共同撰写。书中所提到的45个习惯,不仅涉及软件开发过程、编程和调试工作,还包括了开发者的个人态度、项目和团队管理...
C语言深度解剖–解开程序员面试笔试的秘密由作者结合自身多年嵌入式C语言开发经验和平时讲解C语言的心得体会整理而成,其中有很多作者独特的见解或看法。由于并不是从头到尾讲解C语言的基础知识,所以本书并不适用于...
【程序员的十层楼】是一个比喻,用于描述程序员在技术成长过程中的不同阶段。这个概念主要是为了分析和比较中国与西方程序员的技术水平。通过设定不同的技术层级,我们可以更清晰地了解程序员所需掌握的知识和技能,...
C语言深度解剖(第2版)解开程序员面试笔试的秘密-陈正冲-第二版-高清-带书签目录 完整版.pdf《C语言深度解剖:解开程序员面试笔试的秘密(第2版)》由作者结合自身多年嵌入式C语言开发经验和平时讲解C语言的心得体会...
c语言深度解剖--解开程序员面试笔试的秘密 陈正冲(扫描版)
文章虽然没有详细介绍后续的七个层级,但可以推测,从第4层至第10层,程序员将逐渐从技术专家成长为项目领导者、团队管理者,甚至行业专家和创新者,每一层级都对应着更广泛的知识体系和更高的领导力要求。...