Ben*_*ter 13 language-agnostic
任何人都可以推荐任何能够提供编程理论真实世界观的好材料吗?作为一名长期的专业软件工程师,我正在从我的角度讲述一名学生.当我说现实世界时,我的意思是"为什么我应该使用接口?这不符合DRY原则吗?它似乎是额外的不必要的元代码." (这是今天提出的另一个问题的含义.)这个学生班级的教授似乎没有明确的商业理由将它们用作"你使用它,所以你的应用程序的主要部分不依赖在特定实现中,您可以使用一个或多个组件 - 例如,可以更换或升级的数据存储而不会影响应用程序的其余部分,也可以插入外部设备的插件,当更好的应用程序出现时可以替换它们.
我注意到学生倾向于达到他们的CS课程的关键点,并开始在各种问答网站上询问他们为什么应该使用某种范式,他们了解什么和如何,但他们对于为什么这样做是无能为力的实际上很有用并且经历了其余的课程思考"好吧,那又怎么样?" 课程往往非常学术化,没有任何真实的世界背景.自己去过那里,我希望我在学校时有像StackOverflow这样的资源.
我希望这个问题能为学生提供一系列有用的阅读材料,这些材料将有助于为他们在课堂上或其他方面学习的各种编程范例和模式提供真实的世界背景,并帮助他们掌握某些模式的时间和原因应该在现实世界的情况下看待.