【编程指导】新程序员必须具备的十个基本技能

没有几个学生能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、利用现有代码

在学校的时候,每一次作业都是一个新项目。但现实世界不是这样的。对于刚工作的人来说,所接到的第一项任务往往是修改代码漏洞。

然后,再在现有代码库的基础上为现有系统增加一个小功能。设计新代码那是几个月后的事情,如果幸运的话。

文章来自:codecloud

原文发布于微信公众号 - 程序员互动联盟(coder_online)

原文发表时间:2015-06-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏知晓程序

开发 | 电商小程序数据库该如何设计?这 2 个方法拯救你

相信有许多开发者都会有这样的疑问。虽然目前大家使用知晓云开发小程序,已经不再需要考虑后端代码的实现,只需要关心前端业务逻辑的展示即可。但对于想要实现复杂业务的小...

1021
来自专栏IT大咖说

Connecting People ---- 独乐乐 不如众乐乐

摘要 io游戏大致是指具有多人对抗+地图限制+死后即刻复活等为特点的休闲moba类竞技游戏,在近几年内发展迅速。 ? io&HTML5 HTML5这个领域在过去...

3377
来自专栏编程微刊

自媒体运营技巧:如何成功申请今日头条号?

1K3
来自专栏腾讯大讲堂的专栏

英雄联盟自动化扩缩容利器

2013年是英雄联盟在线爆发式的增长的一年,年初的运营数据已经让全体英雄联盟运营团队感受到了巨大的压力。去年,扩容相关工作占到占据了英雄联盟运维较多的工作时长,...

21510
来自专栏CSDN技术头条

临阵磨枪,血拼季网站优化的最后三板斧

血拼季临近,零售商们需要提升Web性能以满足高峰期的需求。本文提出三个优化建议,包括图像优化等,旨在帮助大家化解黑五的性能难题。 美国的节日购物季即将在感恩节后...

1898
来自专栏企鹅号快讯

小程序新增搜索框历史记录列表并可搜索内容关键词

1、前几日发现小程序新增了一个功能,即在小程序的入口之一搜索框出现了搜索历史列表,如图 新增的历史列表按照搜索行为的先后顺序进行排列,与现在时间距离越近的越靠在...

2718
来自专栏西城知道

#腾讯云#企业建站首选—2核8G10M三年秒杀只需3069

腾讯云双十一狂欢,前几天也有放出这个价格的机型,但根本抢不到,可能是今天最后一天,腾讯云放出所有存货,到现在为止还剩41%。3069三年,相当于83/月,相当于...

2007
来自专栏Crossin的编程教室

爬虫+网站开发实例:电影票比价网

时常有同学会问我类似的问题:我已经学完了 Python 基础,也照着例子写过一点爬虫代码 / 了解过 django 的入门项目 / 看过数据分析的教程……然后就...

3175
来自专栏全华班

一套标准的办公自动化解决方案(简要版)

? 解决什么问题 通过解决方案来实现: 1、通过畅通、高速的网络平台,先进的应用系统,打破企业部门之间的信息壁垒,实现整个公司信息和知识的共享; 2、 提高办...

3489
来自专栏杨建荣的学习笔记

假期前的数据库检查之主动优化(r11笔记第50天)

快要过年了,很多工作都会放下来,很多计划都会搁置下来,节前的检查还是必要的,尤其是那些看似不起眼的问题尤其需要注意。今天就处理了一起,也算是假期前的性能优化临门...

3065

扫码关注云+社区