熟悉陌生框架或代码, 产品设计小结

2015-07-27 10:44:03

程序都是顺序被执行的

但是顺序写代码会很难维护, 结构不清晰, 代码冗余

框架, 就是把本来应该顺序写在一起的代码分开存放在不通的文件中, 并用不通的文件夹将其分类

但是程序仍要顺序执行, 这样就会有一种机制将分布在不通文件夹里的文件"拼接"在一起, 使其成为"可顺序执行"的

这个机制, 语言层面就是include, require, import, 对应的函数就可能是 load, auto_load, ....

所以熟悉一个框架, 最好从全局搜索这些关键词, 然后找到包含关系, 找到主干走向

======

如果不想这样找呢

网络开发无非是增删改查,

接手一个新框架, 先找到:

1. 处理数据库的文件在哪里,物理数据库表有大致有哪些(过一眼, 心里有个数, 对理解特务逻辑会有帮助, 框架里大多以model, db, driver, mysql, query, ....命名)

2. 处理表单/业务逻辑的PHP代码在哪里, 同一类的代码会放在哪里 (框架里大多以 controller, ***.class.php, ....命名)

3. 显示HTML用的代码在哪里 (框架里大多以 view, render命名)

4. 公共类库在哪里, 里边大致有哪些全局可访问的函数(框架里大多会以 lib, library, base, .... 命名)

解决问题的时候, 多用开发软件(编辑器, IDE,.....)提供的全局搜索功能

找到表单的名字, 或者直接到数据库里找到你要操作的字段, 全局搜索他, 然后找到处理该数据的文件, 最后确认处理逻辑在哪个文件里

或者, 比如与用户有关的, 通常处理数据的文件名字会叫user, account.... edit, update, add, del, delete, .......

======

产品设计:

对于一款产品, 添加新功能的时候要考虑已有功能的兼容

比如, 要把匿名用户当做普通已注册的用户来对待

要考虑到已注册的用户会有哪些行为, 那么匿名用户肯定也会有这样的行为: 编辑个人信息, 头像, 回答问题, 获取积分, 收发邮件, 私信.....

那么现有开发的程序功能, 是不是兼容这些数据, 比如, 普通用户是有userid的, 匿名用户也需要的, 等等

稍微总结一下就是, 现有的功能会在哪些地方使用, 新加的功能是否也会在这些方面被用到, 那么, 这些地方需要的信息userid, nickname,.... 新功能也应该有才能保证新老兼容

 

posted @ 2015-07-27 11:04  myD  阅读(328)  评论(0编辑  收藏  举报