第一步:选好适合的数据结构。 第二步:做好业务逻辑的抽象(流程+模型)。 第三步:设计代码的控制过程(编程范式+设计模式)。 例子 function check_form_x() { var name = $('#name').val(); if (null == name || name.length <= 3) { return { status : 1, message: 'Invalid name' }; } var password = $('#password').val(); if (null == password || password.length <= 8) { return { status : 2, message: 'Invalid password' }; } var repeat_password = $('#repeat_password').val(); if (repeat_password != password.length) { return { status : 3, message: 'Password and repeat password mismatch' }; } var email = $('#email').val(); if (check_email_format(email)) { return { status : 4, message: 'Invalid email' }; } ... return { status : 0, message: 'OK' }; } 分离后: // logic var meta_create_user = { form_id : 'create_user', fields : [ { id : 'name', type : 'text', min_length : 3 }, { id : 'password', type : 'password', min_length : 8 }, { id : 'repeat-password', type : 'password', min_length : 8 }, { id : 'email', type : 'email' } ] }; // control var r = check_form(meta_create_user); 上面的例子,使用的是表驱动的方法,就是用一个 JSON 的数据结构来描述业务需求,再加一个控制函数,这样就可以很好的做到了数据、逻辑和控制之间的分离,同时还具备了很好的扩展性。