我正在向本科生教授软件工程,我想要一堆面向对象的代码,这些代码展示了紧密耦合、抽象性差、封装性低、可维护性差、工作原理。有人有好榜样吗?可以消化的东西(如在一小时或更短的时间内可以略读)将是很好的。提前谢谢。
发布于 2012-01-10 22:21:40
你可能会用谷歌搜索“重构”。通常,有一个前后的图片,甚至一个逐步的过程,可以为您提供一个“坏的代码”的起点。
如果这不起作用,为什么不教他们怎么写不好的代码呢?这可能是逆向思维中一个有趣的练习。将“错误代码规则”张贴在黑板/白板上:
1)试图掩埋方法名称中的拼写错误
2)使用极短、长或无意义的变量名
3)尝试在不同的作用域中重用变量名或类似的变量名。
4)写冗长的注释,要么与代码不匹配,要么毫无意义(getSalesTax --一种征收销售税的方法)
5)将尽可能多的功能放在一行中
欢迎其他人加入这个答案中缺少的95个规则。
发布于 2012-01-10 21:24:28
当我还是一个学生项目的时候,我可耻地提交了我的顶石工程的一部分。它是用Java编写的开源软件。
它足够大,你可能不想放弃它,重新开始。
它的特点是一些绝对可怕的结构,但应该有足够的结构,使一些关键部分适口。
免责声明:我们只有5名团队成员中的3名,并且自己教自己Java作为项目的一部分,以使其更具挑战性。
如果你最后看了,我会问/答或任何其他问题。
发布于 2012-01-10 21:27:22
真正令人沮丧的代码通常不会持续足够长的时间让人们注意到。您可能想先查看sourceforge上的非活动或前α项目。
而且,清洁守则罗伯特马丁有很多前后的例子,每次都有这样的概念。不是一个典型的例子,但这是一本书,我希望每一个新雇员读过在大学。
https://softwareengineering.stackexchange.com/questions/129450
复制相似问题