我在软件工程学中一直在学习(和教授)的东西是代码重复是万恶之源。另一方面,我发现很难解释如何将这个概念应用于Web应用程序的开发。
请允许我澄清一下…输入和数据验证可能是Web应用程序的重要组成部分。有时,这种验证可能会非常复杂。例如,我从事拼图编辑器的工作,验证包括检查某项操作或移动是否有效。然后必须检查非平凡的规则。
自然,必须在服务器端进行验证,以确保所存储数据的一致性和质量。但是,必须在客户端进行验证以确保流畅的用户体验。
在大多数情况下,客户端和服务器端代码是用不同的语言(即javascript / Python)编写的,因此验证代码必须编写两次。但是,以我对GWT / Java的唯一经验(两面都是Java),我发现验证代码的大部分可以重用。这似乎使一切变得更容易:维护,重构,调试…
所以我想问的是:在客户端和服务器端语言不同的项目中,如何处理与代码重复相关的问题?