C++ 关于如何提高实施技能的建议;“干净”;c++;密码

C++ 关于如何提高实施技能的建议;“干净”;c++;密码,c++,architecture,coding-style,C++,Architecture,Coding Style,我是一名软件专业的学生,我的第一本编程书是罗伯特·C·马丁的《干净的代码》。所以我知道干净代码的重要性,并尝试将其应用到我的代码中 然而,如果我试图实现我从大学学到的算法,它只是一团糟。我可以用手解决这个问题,但用电脑很难。甚至通过C++对一类算法进行编码,通常违反了干净的代码原则(最严重的是方法的参数太多)。 最近,为了提高我的技能,我尝试在线评判,但这对我的代码清理没有多大帮助 你能根据你的经验给我一些建议吗?我真的很想让我的代码干净并且设计良好。我会很感激你的 +我有一个用回溯法求解背包问

我是一名软件专业的学生,我的第一本编程书是罗伯特·C·马丁的《干净的代码》。所以我知道干净代码的重要性,并尝试将其应用到我的代码中

然而,如果我试图实现我从大学学到的算法,它只是一团糟。我可以用手解决这个问题,但用电脑很难。甚至通过C++对一类算法进行编码,通常违反了干净的代码原则(最严重的是方法的参数太多)。 最近,为了提高我的技能,我尝试在线评判,但这对我的代码清理没有多大帮助

你能根据你的经验给我一些建议吗?我真的很想让我的代码干净并且设计良好。我会很感激你的


+我有一个用回溯法求解背包问题的算法代码。如果你想的话,我可以把它贴出来,但可能会很混乱,很难理解。。。代码测试的问题在于,它们通常是人为设计的,不能反映真实世界的示例

通常,当我设计程序时,要求的制定方式反映了他们打算计算机化的现有纸质系统。这是一个传达“问题域”的公平起点,但它还不够深入。要进入下一步,您需要能够分析系统所需的用例、场景和“故事”。从那时起,您可以在顶层确定系统应该如何工作

同时,您还需要“自下而上”编写小块代码,每个代码都可以完成一项任务

通过以这种方式分解问题,它使您能够在高级别和低级别上关注系统的单个部分。通过确定参与者、用例和场景,您就可以合理地了解如何适当地构造代码和委托


我可以推荐一本书,它极大地帮助我重新思考如何解决问题的部分-“解释设计模式”:

这真的没有捷径可走。在实践中学习。接受这样一个事实:你将在生活中编写的大部分代码都是垃圾,当你写下一些真正美丽的东西时,你会感觉更好。