新手程序员必备十项技能

简介: 初出茅庐的你带着仍残留墨香的毕业证书踏上工作岗位,马上就被书上没写的规则和各种繁杂的日常事务来了个下马威。这样的故事实在是司空见惯,编程工作也不例外。没有几个学生能 100% 为自己的第一份真正的工作做好准备。

初出茅庐的你带着仍残留墨香的毕业证书踏上工作岗位,马上就被书上没写的规则和各种繁杂的日常事务来了个下马威。这样的故事实在是司空见惯,编程工作也不例外。没有几个学生能 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 程序都要这样开头:
1        set_error_reporting(E_ALL)
每一个 Perl 程序都要写上这些语句:
1        use strict; use warnings;
9、团队协作
很少编程工作会让你自己一个人完成,如果你经常这么做,智力会受损,表现会变弱。你的代码必须与别人的交互或者混合。再有才的程序员,如果无法与别人协作,都会给项目造成负面影响,并迅速成为组织的负担。
10、利用现有代码
在学校的时候,每一次作业都是一个新项目。但现实世界不是这样的。对于刚工作的人来说,所接到的第一项任务往往是修改代码漏洞。然后,再在现有代码库的基础上为现有系统增加一个小功能。设计新代码那是几个月后的事情,如果幸运的话。

目录
相关文章
|
5月前
|
存储 Java 开发工具
探索安卓应用开发:从新手到专家的旅程
【8月更文挑战第30天】在数字时代,掌握安卓应用开发的技能不仅是职业发展的利器,也是个人技术成长的象征。本文将带你了解如何从零基础开始,逐步深入安卓开发的奥秘,最终成为一名能够独立开发高质量应用的专家。通过实际的代码示例和清晰的步骤指导,我们将一起构建你的第一个安卓应用程序,并探讨如何提升至更高水平。无论你是编程新手还是希望提高现有技能的开发者,这篇文章都将为你提供宝贵的知识和启发。
|
5月前
|
机器学习/深度学习 前端开发 程序员
探索编程之道:从小白到专家的旅程
【8月更文挑战第29天】本文将引导读者踏上一段从编程新手到资深开发者的旅程。我们将通过一个实际的项目案例,探讨如何从零开始学习编程,逐步掌握关键技能,并最终成长为一名能够独立解决复杂问题的专家。在这个过程中,我们将分享实用的学习资源、策略和心态调整方法,帮助读者在编程之路上不断前进。
|
3月前
|
前端开发 API 开发者
🥇前端宝藏:多项目掌握技能的冒险之旅🏆
在前端开发的学习旅程中,实践是提升技能的关键。本文介绍了多个前端项目,包括计算器、天气应用、经典游戏等,涵盖了从React到Svelte的各种技术栈。每个项目都附有在线演示和源代码,旨在帮助读者深入理解实现细节,激励更多人参与实际项目开发。通过这些项目,读者可以将理论知识转化为实践,拓展职业机会。
28 0
|
5月前
|
敏捷开发 测试技术 持续交付
软件测试的艺术:从新手到高手的蜕变之旅
在数字化时代的浪潮中,软件测试不再是一个单一的技术环节,而是一种艺术,它要求从业者具备深厚的技术功底与敏锐的洞察力。本文将通过深入浅出的方式,带领读者了解软件测试的核心概念、方法论以及如何从一名新手成长为行业内的高手。我们将探索自动化测试的奇妙世界,讨论持续集成的重要性,并分享一些实用的技巧和最佳实践,旨在帮助每一位软件测试工程师提升自己的技术水平,最终实现职业生涯的飞跃。
|
5月前
|
测试技术
软件测试的艺术:从新手到专家的蜕变之旅
在数字时代的浪潮中,软件测试不仅是质量的守护者,更是创新与完善的桥梁。本文将引导你穿梭于软件测试的迷宫,探索从基础理论到高级实践的奥秘,揭示如何通过持续学习、实践反思和技能提升,实现从测试新手到行业专家的华丽转变。让我们一起走进软件测试的世界,解锁那些让测试艺术绽放光彩的秘密。
|
6月前
|
设计模式 持续交付 开发者
探索代码之美:从新手到专家的编程之旅
【7月更文挑战第25天】在编程的世界里,每一行代码都蕴含着无限可能。本文将带你领略编程的艺术,从基础概念到高级技巧,一起探索如何通过实践、学习和创新,提升编程技能,并享受这一过程中的乐趣和成就感。
|
5月前
|
开发者
探索编程之旅:从新手到专家的心路历程
【8月更文挑战第15天】编程,一个充满挑战与创新的领域,吸引着无数人投身其中。本文将带你领略编程世界的奇妙之处,分享我从一名初学者逐步成长为资深开发者的心得体会。在这个过程中,我们不仅会探讨技术层面的成长,还会深入理解编程背后的哲学思考。无论你是刚开始接触编程的新手,还是已经有一定经验的开发者,这篇文章都会给你带来新的启示和思考。让我们一起踏上这段探索编程之旅,感受编程带来的无限可能。
|
7月前
|
设计模式 存储 Swift
探索iOS应用开发:从新手到专家
【6月更文挑战第28天】在这篇文章中,我们将深入探讨iOS应用开发的各个方面。无论你是刚开始学习iOS开发的新手,还是已经有一定经验的开发者,这篇文章都将为你提供有价值的信息和指导。我们将从基础知识开始,逐步深入到更复杂的主题,包括设计模式、性能优化和最新的iOS技术趋势。通过这篇文章,你将获得从新手到专家的全面指导。
|
8月前
|
设计模式 前端开发 JavaScript
从新手到资深前端工程师:学习路径和必备技能
从新手到资深前端工程师:学习路径和必备技能
275 0
掌握ChatGPT的外行,将比新手更专业
掌握ChatGPT的外行,将比新手更专业
59 0