过度封装是程序员最容易犯的错, 因为是否过度并没有固定的数值标准, 只能是有经验的程序员基于科学的判断. 过度封装的危害十分严重, 所以必须重视, 并且极力避免.
首先, 什么是"过度封装"? 我们知道, 计算机科学领域最称为经典也是最强大的思想便是递归, 分而治之. 但是, 递归本身最重要的因素是: 结束条件. 一生二, 二生三, 三生万物, 总要有终止的条件吧? 不然一辆车不停地急驰, 你怎样上车?
新手程序员, 特别是非科班出身的文科程序员, 最容易犯了过度封装的错误的原因就是不知道何时适可而止, 脑筋往往不断地分解分解再分解问题, 最后, 你看到的就是这个调用那个, 那个引用这个, 乱七八糟毫无头绪, 三两行代码的函数比比皆是, 自以为封装抽象, 其实是拿捏不好这个度.
一旦过度封装, 直接的危害往往是写了无数行代码, 封装了N多个类, 就是看不出一个完整的功能, 因为分裂起来收不住. 即使最终把功能实现了, 代码维护性也让人不忍直视.
如何判断是否过度封装? 如何避免过度封装? 我认为, 只要掌握了一个原则, 时刻以这个原则为准绳, 那便几乎不会犯过度封装的错误.
这个原则便是"直观优先"原则, 代码逻辑以直观为最优先的原则, 其它的原则均低于此原则, 即使有一百个考虑, 如果违反了直观原则, 都必须放弃掉而优先保证直观原则.
举一个例子:function closeDialog() {
login.close();
message.close();
...close();
}
var action = {
close: function () {
closeDialog();
},
backout: function () {
if (BACKOUT_ID) {
..
本文发布于:2024-02-01 06:50:45,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170674144734679.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |