新程序员应该知道的十个秘密。这样的故事太常见了,编程工作也不例外。很少有学生为他们的第一份真正的工作做好了100%的准备。如果你不想成为他们中的一员,学习这10项你可以在没有动手指导的情况下学习的基本技能:1.版本控制系统(VCS)VCS可能是计算机课程中最大的遗漏。这些课程只记得教如何编写代码,却常常忘了教学生如何管理代码。每个程序员都应该知道如何使用Git或Subversion有效地创建存储库(仓库)、编辑和提交代码、分支和合并,以及了解项目工作流程。2.学习写作。作为一名程序员,您必须编写的不仅仅是代码。您还为项目编写发行说明、向版本控制提交消息以及系统中的错误报告。这些和许多其他地方需要清晰有效的书面交流——计算机科学很少强调的技能。3.正则表达式正则表达式本身就是一种语言,每个现代程序员都应该精通它。每种现代语言都支持正则表达式或具有关联的标准库。如果您的代码需要检查一个字符串是否包含5个字符、1个破折号和1个数字,您应该可以立即编写/^[A-Z]{5}-\d$/。4.库的使用现在是2014年,所以没有人需要使用正则表达式从URL中提取主机名。因为每一种现代编程语言都有执行通用功能的标准库。程序员需要明白,经过开发、测试和调试的代码通常比从头开始编写的代码要好。更重要的是,您不必编写的代码实现起来要快得多。5.SQL许多人在工作中学习SQL。数据库怎么会是选修课呢?有没有没有数据库的?将数据存储在平面文件中的时代已经结束。一切都进出数据库,SQL是访问数据的语言。这是一种声明式语言,而不是过程式语言,因此用它来解决问题需要新的思维方式。每个程序员都应该了解数据库规范化的基础知识,并能够执行SELECT(和INNER、OUTERJOIN)、INSERT、UPDATE和DELETE。6.一个会用IDE、编辑器、CLI工具,只会用锯子的木匠,永远成不了老师,所以计算机专业毕业的人只会记事本或pico,真是奇怪。编程工具有助于操纵代码和其他数据,使程序员的生活更轻松。所以每个程序员都应该知道命令行、shell脚本、find、grep和sed的使用。7.调试每个程序员都应该知道使用交互式调试器或在代码中穿插一些输出语句来调试程序。通过逐步细化来解决问题的能力实在是太重要了。8.防错编程错误总是不可避免的,即使对于明星程序员也是如此。失去控制是世界的常态,出现问题也就不足为奇了。防错编程理解这个事实。如果事情没有失败,我们就不会检查文件是否成功打开,我们不会检查客户端ID是否是一个有效的数字,我们也不会测试代码是否被允许是正确的。程序员需要知道编译器警告是使我们的生活更舒适的有用工具,而不是需要避免的麻烦。每个程序员都应该知道为什么每个PHP程序都是这样开始的:set_error_reporting(E_ALL)每个Perl程序都必须写这些语句:usestrict;使用警告;一个人做,做得太频繁,智力会受到影响,表现也会减弱。您的代码必须与其他人的代码交互或混合。无论程序员多么有才华,无法与他人合作都会对项目产生负面影响,并迅速成为组织的负担。10.使用现有代码当你在学校的时候,每个作业都是一个新项目。但现实世界并非如此。对于初入职场的人来说,接到的第一个任务往往是修改代码漏洞。然后,在现有代码库的基础上,为现有系统添加一个小功能。如果幸运的话,设计新代码还需要几个月的时间。
