除了@simon的答案。
并非软件工程中的所有内容都与编程,设计或建模有关。在工作日内,我们要连续执行许多任务。您已经提到过一个- 在IDE外部构建项目 -但还有更多。
有经验/积极主动的开发人员往往会自动执行这些任务。当这些任务成为SDLC的一部分时,有些甚至是构建工具,而且这些任务很繁琐- 容易出错 -手工完成。程序无论多么繁琐,都擅长做重复性工作。我们- 人类 -并不那么好。
这些工具/脚本还有其他积极的副作用
- 生产率
- 知识转移
- 自主权(对于新来者)
因此,是的,脚本应该位于SCM中,并且应该是开发人员工具箱中的又一个工具。
关于文件夹,/scripts
我会说没关系。为简单起见,我将它们保留在项目的根目录中,以便脚本中声明的所有路由都相对于项目的文件夹。如果我需要访问外部文件夹或文件,则可以创建软链接。
将脚本检入SCM之前需要考虑的事项。
为了安全起见,请确保脚本没有经过硬编码的凭据- 理想情况下,应对脚本进行参数设置 -
确保脚本不会对系统造成任何影响,例如执行无法撤消的命令(最典型的rm -rf
)。
由于这些已成为项目来源的一部分,因此高度赞赏文档。
脚本不是火箭科学。使脚本简洁。而不是一个人统治所有事物……在黑暗中将它们束缚起来,制造出更多,更小和更简洁的产品。就像您正在应用SRP。