Post by herberteuler;1879475
粗粗地看了一下,只想到了一个建议:你应该将数据的表示和对数据的操作分开。即,对矩阵的操作应当在一定程度上不需要了解矩阵是如何表示的。例如,散布在代码里的 malloc 实际上是在创建矩阵,这是在描述数据的表示。它们应该属于一个函数,make_matrix。如果能够重新设计矩阵的表示和操作,使得它们之间的层次更加明显就更好了(但这很困难,而且有可能得不偿失)。
事实上,我建议你有时间读读 sicp,这本书里提到了许多如何设计程序的内容,当然也适用于 C。因为 C 的自由性,设计出违反优秀风格的程序会更容易。因此 C 程序员更应该读一下 sicp
Post by herberteuler;1879475
粗粗地看了一下,只想到了一个建议:你应该将数据的表示和对数据的操作分开。即,对矩阵的操作应当在一定程度上不需要了解矩阵是如何表示的。例如,散布在代码里的 malloc 实际上是在创建矩阵,这是在描述数据的表示。它们应该属于一个函数,make_matrix。如果能够重新设计矩阵的表示和操作,使得它们之间的层次更加明显就更好了(但这很困难,而且有可能得不偿失)。
事实上,我建议你有时间读读 sicp,这本书里提到了许多如何设计程序的内容,当然也适用于 C。因为 C 的自由性,设计出违反优秀风格的程序会更容易。因此 C 程序员更应该读一下 sicp