新入行程序员应该知道的十个秘密
【大咖・来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》
初出茅庐的你带着仍残留墨香的毕业证书踏上工作岗位,马上就被书上没写的规则和各种繁杂的日常事务来了个下马威。这样的故事实在是司空见惯,编程工作也不例外。
没有几个学生能 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、利用现有代码
在学校的时候,每一次作业都是一个新项目。但现实世界不是这样的。对于刚工作的人来说,所接到的***项任务往往是修改代码漏洞。然后,再在现有代码库的基础上为现有系统增加一个小功能。设计新代码那是几个月后的事情,如果幸运的话。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
高通副总裁沈劲:智能硬件创业更注重用户体验
【大咖・来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》 9 月 25 日晚间消息,创业邦公开课(Bang Class)***期今日在北京繁星戏剧村举办。高通副总裁沈劲在课上分享时表示,巨头和创业者一样,都在对智能硬件虎视眈眈,至于如何与巨头竞合,与巨头比“快”、比“价格”、比“产业链”、比“云计算”、比“产品线”可怕都没有出路,***的出路即是比“体验”。 ***期公开课讲师阵容包括:创业邦创始人兼 CEO、创业邦天使基金创始合伙人南立新、Qualcomm 副总裁兼 Qualcomm 投资部中国区总经理沈劲、京东众筹平台负责人高洪�啤⒙蹇煽缮杓萍�团品牌总经理陈兵、大Q手机高级副总裁郑宁亲临现场授课,Broadlink 创始人刘宗孺、极路由创始人王楚云、PICOOC 联合创始人薛志锐围坐一桌,就当下热门的智能硬件话题展开讨论。 创业邦 CEO 南立新在现场分享了对智能硬件背后热潮的观察。智能硬件在今年成为创业热点,也是热门话题,创业门槛越来越低,但其实竞争在加剧,很多模式被创造出来,但并未得到证实,值得思考,这也是创业邦***期公开课锁定在智能硬件的缘由。 Qualco...
- 下一篇
微信5.5要来了!O2O看点:卡包和微POS
【大咖・来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》 微信将在本月26日推出微信5.5的正式版(非6.0版),核心升级包括加入卡包功能和微视频功能,其中***的一个升级将瞄准卡券管理和线下支付市场,推出微信卡包功能。 与之前的当面付等功能不同,微信卡包不仅仅是几亿微信用户增加了一个功能,而且将影响到线下商家的运作方式,同时,微POS类产品将从之前的内测阶段,正式进入公众市场。 微信5.5的推出表明微信在商户侧推广加速,打造的消费线上线下闭环由商户+用户+微信(卡包)+微POS产品组成,微信卡包功能和微POS是两个切入点。在微信端,公众号为卡券派发,卡包则是存储盒管理;线下微POS用户卡券的核销,同时也是一个卡券派发点。 微信卡包到底是什么?将对个人和商家的消费方式运营模式产生怎样的影响?腾讯在其中的诉求又是什么,来看我们的解秘。 切入点一、微信卡包功能 微信卡包是什么 微信5.5中加入的卡包功能,是和iOS中的Passport类似的产品,可以聚合你传统实物钱包里存在的银行卡、优惠券、电影票、会员卡等信息。 所不同的是,微信的卡包是出现在微信主目录“我”里面,钱包下方的...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS8编译安装MySQL8.0.19
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Red5直播服务器,属于Java语言的直播服务器
- CentOS6,7,8上安装Nginx,支持https2.0的开启