我们总是努力提高我们运用技能解决问题的能力。软件工程原理极大地帮助了我编写更高质量代码的能力。这包括测试、模块化、酌情使用面向对象( OO )等。
下面是我如何在JS中实现一些模块化的一个例子。也许这是一个不好的方式来实现这一点,但它作为一个例子,我的意思,并包含了一些问题本身。
framework.js
Framework = {
CurrentState : {
IsConfigurationLoaded : false,
IsCurrentConfigurationValid : false,
Configuration : undefined //undefined .. good? bad? undefined?
},
Event : {
//event lib
},
//you get the idea
}问题:
您以何种方式应用软件工程原则来提高JS的可读性、可维护性和其他质量属性?
帮助回答的其他相关(更具体的)问题:
我曾经写过一个简单的JS单元测试框架,它有简单的断言和一个使用lambda的测试助手方法。您对单元测试javascript有什么想法?
定义代码和框架之间的边界有多重要?
JS主要用于浏览器或网站。这是否减少/消除了某些关切?
你建议使用类和OO原则吗?
未定义和/或空的用法?应该禁止吗?
尝试/捕捉的用法?建议?
什么时候从JSON到类?您是否使用对数据进行操作的Util方法?
原型的使用?建议?什么是你不使用它的好例子?
发布于 2010-09-15 15:12:55
在大型项目中,我倾向于在模型文件、控制文件和视图文件(mvc模式)之间存在差异。
模型文件包含所有有关数据的内容,特别是我的类(OOP)。模型文件的一个示例可以是:
function myClass(){
//private variable
var variable=5;
//public variable
this.newVariable = 10;
function myFunction() {
//do some stuff
alert("my function");
}
//public stuff
return {
myPublicFunction: myFunction
}
}视图文件包含与布局和视图相关的所有内容,控制文件中包含与数据处理相关的内容。控件文件使用在模型文件中声明的类,并与它一起工作。因此,视图只需要包含控制文件并调用布局所需的函数。
但一般说来,概括是完全不同的。如果有意义的话,我喜欢oo模式和trie。但是我只有iPhone开发的经验,所以我不能说一些关于web的东西。
[1]: http://en.wikipedia.org/wiki/Model%E2%80%93View%E2%80%93Controllerhttps://stackoverflow.com/questions/3718311
复制相似问题