0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

新手程序员必须学会的十个基本技能

工程师人生 来源:网络整理 作者:工程师吴畏 2018-11-19 10:51 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

初出茅庐的你带着仍残留墨香的毕业证书踏上工作岗位,马上就被书上没写的规则和各种繁杂的日常事务来了个下马威。这样的故事实在是司空见惯,编程工作也不例外。

没有几个学生能 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 程序都要这样开头:

PHP

1set_error_reporting(E_ALL)

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

1use strict; use warnings;

9、团队协作

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

10、利用现有代码

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 程序员
    +关注

    关注

    4

    文章

    956

    浏览量

    31007
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Linux新手最常踩的10命令坑介绍

    最新的Linux内核特性(kernel 6.x系列)和常见发行版环境(Ubuntu 24.04 LTS、RHEL 9.4、CentOS Stream 10),系统梳理新手最常踩的10命令坑,帮助读者建立正确的操作习惯和风险意识。
    的头像 发表于 04-09 10:11 201次阅读

    Mobile库新手必看:快速实现移动通信的极简方案

     对于刚接触移动开发的程序员来说,通信功能往往是一道门槛。而Mobile库的出现,让这一切变得简单。无需掌握复杂的系统机制,只需引入库并调用几个方法,即可实现短信、电话、网络等常见功能。本文专为新手
    的头像 发表于 01-26 16:57 386次阅读
    Mobile库<b class='flag-5'>新手</b>必看:快速实现移动通信的极简方案

    嵌入式驱动开发,需要掌握哪些技能

    单元测试、集成测试、系统测试等,并学会使用调试工具进行问题排查。 6、 其他嵌入式驱动开发,实质也是软件开发,还需要掌握开发文档的编辑、软件版本管理、框架思维等需要软件开发具有的技能。 最后,你现在做嵌入式驱动开发吗?
    发表于 01-20 16:46

    模组功耗入门指南:新手必须掌握的能耗知识

    对于刚接触模组开发的新手而言,理解功耗特性是确保系统稳定运行的第一步。模组的功耗不仅影响电池寿命,还直接关系到散热设计与电源配置。本文将系统讲解常见模组的功耗类型、典型值与峰值,帮助你从源头规避
    的头像 发表于 01-18 13:48 958次阅读
    模组功耗入门指南:<b class='flag-5'>新手</b><b class='flag-5'>必须</b>掌握的能耗知识

    聚飞光电荣获2025年度深圳市终身职业技能培训佳示范载体称号

    近日,深圳市人力资源和社会保障局正式公布2025年度深圳市终身职业技能培训载体评选结果。深圳市聚飞光电股份有限公司凭借在职业技能培训模式创新、理论与实训相融合等方面的突出表现,成功获评“深圳市终身职业技能培训
    的头像 发表于 01-06 11:14 684次阅读

    大理的AI野心藏不住了——风花雪月中千名程序员探讨人工智能

    2025 年12月4日至6日第二届CCF程序员大会暨大理人工智能与应用国际开发者大会在大理圆满落幕。
    的头像 发表于 12-24 17:45 892次阅读
    大理的AI野心藏不住了——风花雪月中千名<b class='flag-5'>程序员</b>探讨人工智能

    程序员最常见谎言

    了。 28我已经测试过了,这个功能没问题,可以上线了。 29别担心,这个问题很快就能解决。 30代码快写完了,已经完成 90% 了 。 希望大家对程序员多一些容忍以及谅解! 各位程序员你们都被我说中了哪些?说说你们的观点
    发表于 12-10 08:24

    Unix的相关知识

    给出足量错误信息。 经济原则:宁花机器一分,不花程序员一秒。 生成原则:避免手撕,尽量编写程序去生成程序。 优化原则:雕琢前先要有原型,跑之前先学会走。 多样原则:决不相信所谓“不二法
    发表于 12-10 07:13

    提高单片机抗干扰能力的十个细节

    响应时,正确的信息又到来,这样就可以及时防止误动作的产生。在程序结构的安排上,可为输出数据建立一数据缓冲区,在程序的周期性循环体内将数据输出。 对于增量控制型设备不能这样重复送数,只有通过检测通道,从
    发表于 11-25 06:12

    裸机方式的缺点有哪些

    进行的: 应用程序程序员必须确保数据一致性。 超级循环可以与系统计时器轻松同步,但: 如果系统需要多种不同的周期时间,则会很难实现。 超过超级循环周期的耗时函数需要做拆分。 增加软件开销,应用
    发表于 11-17 06:11

    奔赴热AI,码力全开!Talkweb House@1024程序员日系列活动圆满收官

    1024程序员日”系列活动至此划上了一圆满句号。本届1024程序员节以“AI构建世界,智能引领未来”为主题,广邀技术大咖、产业领袖、企业代表与全球开发者齐聚星城
    的头像 发表于 10-27 18:59 962次阅读
    奔赴热AI,码力全开!Talkweb House@1024<b class='flag-5'>程序员</b>日系列活动圆满收官

    开鸿智谷“以赛促学、以赛选才”|1024程序员节暨开源鸿蒙构建大会圆满落幕!

    10月24日,由开鸿智谷联合主办的长沙1024程序员节暨开源鸿蒙构建大会在长沙圆满落幕。本次活动以“湘聚长沙,共赴热AI”为主题,通过技术分享与实战竞赛相结合的方式,着力培养“开源鸿蒙+AI”领域
    的头像 发表于 10-27 17:58 860次阅读
    开鸿智谷“以赛促学、以赛选才”|1024<b class='flag-5'>程序员</b>节暨开源鸿蒙构建大会圆满落幕!

    BNC接口寻线:新手快速寻线指南

    新手来说,BNC 接口寻线不用 “怕麻烦”,只要记住 “先定一端、工具辅助、做好标记” 这三核心,哪怕面对几根线,也能高效理清。其实寻线的关键不是 “快”,而是 “准”—— 一次找对,贴好标签,下次就不用再花时间,还能避免
    的头像 发表于 10-17 15:39 1177次阅读
    BNC接口寻线:<b class='flag-5'>新手</b>快速寻线指南

    可靠性设计的十个重点

    专注于光电半导体芯片与器件可靠性领域的科研检测机构,能够对LED、激光器、功率器件等关键部件进行严格的检测,致力于为客户提供高质量的测试服务,为光电产品在各种高可靠性场景中的稳定应用提供坚实的质量保障。规定定性定量的可靠性要求规定定性定量的可靠性要求。有了可靠性指标,开展可靠性设计才有目标,才能对开发的产品可靠性进行考核,避免产品在顾客使用中因故障频繁而使开
    的头像 发表于 08-01 22:55 1199次阅读
    可靠性设计的<b class='flag-5'>十个</b>重点

    程序设计与数据结构

    的地址)出发,采用推导的方式,深入浅出的分析了广大C程序员学习和开发中遇到的难点。 2. 从方法论的高度对C语言在数据结构和算法方面的应用进行了深入讲解和阐述。 3. 讲解了绝大多数C程序员开发
    发表于 05-13 16:45