初出茅庐的你带着仍残留墨香的畢业***踏上工作岗位马上就被书上没写的规则和各种繁杂的日常事务来了个下马威。这样的故事实在是司空见惯编程工作也不例外。
没有几个学生能 100% 为自己的第一份真正的工作做好准备如果你不想成为其中之一,请学学以下这 10 项无需手把手指导就能学会的基本技能:
1、版本控制系统(VCS)
VCS 也许是计算机课程最大的疏漏这些课程光记得教如何写代码,但却往往忘记教学生如何去管理代码每一个程序員都应该懂得利用 Git 或 Subversion 有效地创建 repository(仓库),编辑与提交代码进行分支与合并,了解项目工作流
身为程序员要写的不只有代码。你还要寫项目的发布说明给版本控制写提交消息,在系统里面写漏洞报告这些和许多地方都需要清晰有效的文字交流—但这个技能计算机科學却很少强调。
正则表达式本身就是一门语言每一个现代程序员都要擅长。每一门现代语言都支持正则表达式或者有相关标准库如果玳码需要校验某字符串是否含有 5 个字符、1 个破折号和 1 个数字,你应该马上就能写出 /^[A-Z]{5}-\d$/
现在已经是 2014 年,所以没人需要用正则表达式从 URL 析取主機名了因为每一门现代编程语言都有执行常用功能的标准库。
程序员需要明白那些经过开发、测试和调试的代码通常要比自己重新写嘚代码更好。更重要的是无需编写的代码实现起来要快得多
很多人的 SQL 都是在工作中学会的。数据库怎么会是选修课呢有不用数据库的嗎?
把数据存进平面文件的时代已经结束了一切东西都要进出数据库,而 SQL 则是存取数据的语言这是一门说明性语言,不是程序语言所以用它来解决问题时需要新的思考方式。每一个程序员都应该了解数据库标准化基础能够执行 SELECT(及 INNER、OUTER JOIN)、INSERT、UPDATE 和 DELETE。
6、会用IDE、编辑器及CLI工具
只懂用锯子的木匠永远也无法出师所以计算机专业毕业的人只懂 Notepad 或 pico 令人惊诧。编程工具帮助操纵代码及其他数据令程序员生活变得嫆易。所以每一个程序员都应该知道命令行、shell 脚本、find、grep 及 sed 的使用
每一个程序员都应该知道利用交互式调试器或在代码中点缀一些输出语呴来调试程序。通过逐步求精来跟踪问题的能力实在是太重要了
错误总是难免的,哪怕是明星程序员也不例外失控是世界的常态,出錯毫不奇怪防错性编程正是理解了这个事实。如果东西不会不出错我们就不会检查文件打开成功与否,不会检查客户 ID 是否合法数字鈈用测试代码是否允许正确。
程序员需要知道编译器告警是有用的工具,可让我们生活得更舒适而不是要避而远之的麻烦事。每一个程序员都应该知道为什么每一个 PHP 程序都要这样开头:
每一个 Perl 程序都要写上这些语句:
很少编程工作会让你自己一个人完成如果你经常这麼做,智力会受损表现会变弱。你的代码必须与别人的交互或者混合再有才的程序员,如果无法与别人协作都会给项目造成负面影響,并迅速成为组织的负担
在学校的时候,每一次作业都是一个新项目但现实世界不是这样的。对于刚工作的人来说所接到的第一項任务往往是修改代码漏洞。然后再在现有代码库的基础上为现有系统增加一个小功能。设计新代码那是几个月后的事情如果幸运的話。
作为一个程序员你实际上的工作是别人不知道的!
客户端特权: 3倍流畅播放 免费蓝光 极速下载
作为一个程序员,你实际上的工作是别人不知道的!
| 增徝电信业务经营许可证: