当然,有些团队甚至有专门的数据库开发人员或数据库管理员(DBA),但是这并不能真正允许你不懂至少是基本的数据库知识。
最起码,你应该知道:
•数据库如何工作
•如何执行基本的查询来获取数据
•如何插入、更新和删除数据
•如何连接数据集
此外,你可能会想知道如何以编程方式从你的代码与你所选择的平台和/或框架检索和存储数据。
大多数开发者被期待能够编写与数据库进行交互代码。
源代码控制
源代码控制是任何软件开发项目的组成部分。
在我们使用源代码控制之前,我们必须在网络上共享项目的所有文件,或者通过U盘来回查看存储在上面的不同软件版本。
虽然我很不想承认,但我的确不止一次地玩过这个把戏。
但是,我还年轻。我蠢。你却没必要像我这样。
当前,几乎所有专业的开发者人员都被期待懂得如何使用源代码控制来反复检查代码,并希望懂得合并来自多个源的变化。
最基本层面的源代码控制可以让你保持在一个软件项目中对不同的文件所做更改的历史记录。
它还允许多个开发人员在同一时间工作于相同的代码,然后合并这些更改。
具体就不细说了,但你应该知道如何熟练地使用至少一个源代码控制系统,并且你应该熟悉大多数基本的源控制概念。
在当今软件开发领域,几乎所有专业的软件开发团队都会使用某种源代码控制。
构建和部署
现在,大多数软件开发项目都有着某种自动化的构建和部署系统。
有几种不同的软件应用程序,可以帮助软对自动化这两个任务,曾经是手动,当然对于某些团队而言,现在仍然如此。
你问什么是构建和部署?
好问题。
你知道如何写代码,并检入到源控制系统吗?
拥有一些方法来确保代码可在你检入后真正能工作很不错。
这就是构建系统的用武之地。
最起码,构建系统将编译所有代码,并确保没有编译错误。
一个复杂的构建系统可以运行单元测试或用户测试,运行代码质量检查,并提供关于代码库当前状态的一些报告。
部署系统将负责部署代码要么到生产机器要么可能到某种测试环境。
你不必成为这些技术的绝对专家,但是了解至少这些系统如何工作的基础知识,以及构建和部署代码的过程,是非常重要的。
通常情况下,创建和维护构建和部署系统的实际职责属于所谓的DevOps(developer operations的简写)——这个快速增长的领域。
但是,这并不妨碍你至少了解关于这个过程如何工作的基础知识。
测试
曾几何时开发者并没有必要知道太多关于测试的内容。
我们习惯于写一串代码,然后扔给测试人员,让他们去找代码中的各种bug,然后我们再来修复bug。
切不可再如此。
随着越来越多的软件项目开始采用所谓的敏捷过程,(后面再方法这一点中我们再细谈),软件开发人员和测试人员不得不更密切地一起合作。
质量已真正成为了整个团队的责任——我倒是更想说,它一直都是。
随之而来的是,你需要了解一些关于测试的东西。
你至少应该熟悉如下基本术语:
•白盒测试
•黑盒测试
•单元测试(不是真的测试)
•边界条件
•测试自动化
•验收测试
一个好的开发人员——我假设你至少想成为一个优秀的开发人员——会在将代码交给别人之前测试自己的代码。