• 大学期间,新手程序员应该学会的十项基本技能!


    一个司空见惯的现象:你在学校上几年学后拿着一张刚崭新的毕业证文凭,去找到第一份工作,然后马上对不成文的规定和每天没人提醒的复杂事情傻眼了。编程工作也不例外。

    很少有学生对他的第一份工作会有100%的准备。虽然计算机科学学位并不只是使学生给银行做App开发的工作做准备的。但是我经常很意外的发现一些毕业生、甚至是一些有经验的程序员,他们仍然在Notepad 或者 Pico 编写他们的代码,而不会使用版本控制系统。

    如果你不想成为其中一员,那么你应该花时间学会下面这10项基本技能。


    1、版本控制系统

    这也许是计算机课程最大的疏漏。有些课程只教如何写代码,但却往往忘记教学生如何去管理代码。每一个程序员都应该懂得利用 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、Debugging

    每一个程序员都应该知道利用交互式调试器或在代码中点缀一些输出语句来调试程序。通过逐步求精来跟踪问题的能力实在是太重要了。

    8、防错性地编程

    错误总是难免的,哪怕是明星程序员也不例外。失控是世界的常态,出错毫不奇怪。防错性编程正是理解了这个事实。如果东西不会不出错,我们就不会检查文件打开成功与否,不会检查客户 ID 是否合法数字,不用测试代码是否允许正确。

    程序员需要知道,编译器告警是有用的工具,可让我们生活得更舒适,而不是要避而远之的麻烦事。每一个程序员都应该知道为什么每一个 PHP 程序都要这样开头:

    set_error_reporting(E_ALL)

    每一个 Perl 程序都要写上这些语句:

    use strict; use warnings;

    9、学会团队协作

    很少编程工作会让你自己一个人完成,如果你经常这么做,智力会受损,表现会变弱。你的代码必须与别人的交互或者混合。再有才的程序员,如果无法与别人协作,都会给项目造成负面影响,并迅速成为组织的负担。

    10、充分利用现有代码

    在学校期间,每一次作业都是一个新项目。但现实世界不是这样的。对于刚工作的人来说,所接到的第一项任务往往是修改代码漏洞。然后,再在现有代码库的基础上为现有系统增加一个小功能。设计新代码那是几个月后的事情,如果幸运的话。


     

    最后,不管你是转行也好,初学也罢,进阶也可,如果你想学编程~

    【值得关注】我的 C/C++编程学习交流俱乐部【点击进入】

    问题答疑,学习交流,技术探讨,还有超多编程资源大全,零基础的视频也超棒~

  • 相关阅读:
    ISEX安全期计算 V4.0 多国语言版女性安全期避孕计算实用工具软件
    FireARP防火墙 V3.1防局域网ARP攻击的软件
    asp.net页面字段绑定概述
    C# 删除、遍历指定目录下的所有指定文件、文件夹
    加入收藏、设为首页常用脚本
    分页加载数据Demo
    学习fragment的生命周期
    widget控件
    Menu菜单的代码和xml的创建
    WebView控件
  • 原文地址:https://www.cnblogs.com/huya-edu/p/14436815.html
Copyright © 2020-2023  润新知