我找不到一个令人满意的答案,所以问题是这样的;
我正在开发一个基于HTML5-Websocket的应用程序,我也将把它移植到Mobile上。
问题是我2/3的特性不会出现在移动版中,而这些特性被紧密地集成到了JS的HTML中。
如果我能优雅地分离这1/3的特征,我就会干了。然而,我找不到一个简单的解决方案。
例如,我有一个函数,它从节点获取用户对象,并在函数中处理它。对于移动端,我将需要相同的流,但除了2/3的流。我可以为它们创建不同的函数,并将它们放到不同的文件中,但这将带来维护的噩梦,因为即使是简单的功能,我也需要创建数十个额外的函数。
对于这项工作,有没有好的框架或方法来做这些事情呢?
发布于 2012-04-18 07:48:16
对于这种情况,我推荐一种去中心化的方法。从表面上看,您认为这将是一场维护噩梦,因为您将复制一些代码,但更深层次的维护噩梦可能会浮出水面,因为您的共享代码试图处理太多。在这种情况下,代码抽象和隔离可能是可行的方法,它将加速QA。
发布于 2012-04-18 07:52:18
您应该将长函数分解为较小的函数。(每个函数需要15行左右的代码。一般来说,任何函数的长度都不能超过屏幕的高度。)
function DoAllTheThings() {
// long function
// long function
// long function
// long function
// long function
// long function
// long function
// long function
// long function
// long function
// long function
// long function
// long function
// long function
// long function
// long function
}会变成:
function DoAllTheThings() {
WarbleTheThing();
FribbleTheThing();
StrabbleTheThing();
}
function WarbleTheThing() {
// short function
// short function
// short function
}
function FribbleTheThing() {
// short function
// short function
// short function
}
function StrabbleTheThing() {
// short function
// short function
// short function
}对于桌面浏览器,您可以调用DoAllTheThings(),但对于移动设备,您可能只调用FribbleTheThing()。
https://stackoverflow.com/questions/10200678
复制相似问题