11
是否可以编写不需要不断修改的软件?
我已经用许多不同的语言编写了许多软件,并且还“编写”了与使用Verilog和VHDL的FPGA一起使用的硬件。 我倾向于更喜欢编写硬件而不是编写软件,我认为主要原因之一是可以编写“完成”并且不需要修改的硬件:定义接口和功能,编写测试平台,实施硬件模块,然后使用模拟器测试其功能。然后,您可以依靠该硬件模块作为构建块来创建更大更好的产品:如果需要向该模块添加功能,则可以创建第二个模块并在其中添加功能。您永远不会丢掉原始模块,因为它可以正常工作并且仍然有用。 我对软件的主要不满之一是它永远不会“完成”。总有另一个功能要添加。通常,添加功能时会在以前正常工作的其他地方引入错误。只要不违反接口,在硬件中就不会发生这种情况。 明确地说,我并不是在建议使用某些功能列表来构建某个版本,而仅此而已:永远是这样:我赞成随着时间的推移进行迭代和发行多个版本以添加新功能。我只是不想在左侧戳代码而在右侧找到错误,而这似乎是在添加新功能之后发生的。 是否可以通过类似于“编写”硬件的方式来编写软件?有没有一种好的软件开发方法,可以始终取得向前的进展,并允许添加新功能而无需重写现有代码和引入新的错误?