敏捷,其实可以简单的理解为快,那么怎样才能快,就是集中团队的智慧来理解问题,解决问题,这样不仅进度会快,而且会使软件开发这个复杂的工作变得简单。由此可见,“团队”是敏捷的重中之重,没有了团队,敏捷也就无从谈起。所以,可以简单的给敏捷下一个定义:
“敏捷就是借助团队的力量,来使软件开发过程变得轻便快捷,并且使团队中的个人对于问题的理解更加深入,而敏捷的结果除了解决问题之外,对于团队的气氛也有很大的帮助”
书中作者讲述了敏捷开发需要的45个习惯,合上书,我想我能说出来的就是我理解消化的,至于那些未消化的,或许还是自己能力未到吧。
1. 要使代码尽量清晰明了,而不是为了显摆自己的聪明而使用复杂晦涩的语法。
曾经记得自己写过几句代码,是if...else的代码,我使用了“?”操作符来完成,?操作符中又嵌套了另一个?操作符,虽然我的代码只用一行就可以写完,但是,对于要阅读我代码的人来说,这句代码或许不及if else来的更直白明了。
2. 遇到问题先解决问题,而不是找出谁“创造”了这个问题。
3. 对事不对人。
这一点很多人都应该明白,在我的经历中,遇到的所有人都是对事不对人的,我没遇到挤兑别人的人,所以,有些时候犯错误了被人说了其实没什么大不了的,只是如果换做自己当领导时或许可以更好的来表达而不让人误会自己。
4. 要善于听取团队成员的新的想法,当发现问题时要使用交流的形式去谈论问题,而不是去评价想法的好与坏,不要打击别人,兴许是你自己太愚蠢了没能理解别人的想法
5. 同时,在发现新问题时,或者有了新的想法,也要勇敢的说出来,不要因为没有勇气而丧失了表达新想法的机会。
6. 要相信别人。每一个团队各个成员的水平参差不齐,但是要相信每一个成员,如果他水平不行,那就要让他赶紧学,而不是让他打酱油,这样,他在以后的项目中也不会起到什么帮助,除非开除他。
7. 要不断学习新技术,并不一定要精通,但是要有所了解,这样在对决定是否使用这种技术时会有一个考量
8. 对于每一个项目可以设立wiki界面,来记录项目的进度情况
9. 对于项目中出现的bug可以设立一个wiki界面,这对其他人解决这个错误会有很好的帮助,并且对于将来遇到的此类问题也会有好的帮助
10. 关于代码的注释。代码的注释往往是为了弥补代码的不清晰性。所以首先得保证代码的清晰明了,这对函数,变量命名都有很高的要求。但是觉得每一个函数的功能注释是必须的,必须在函数前写清楚参数,返回值,函数的功能等信息。
11. 要能理解团队的代码,或许不用清楚每一个细节,但是分成每一个小块,必须清楚。
12. 不管你在团队里是什么角色,特别是高级人员,像项目经理,架构师,都要亲身去参与软件的编码中,因为只有这样才能对软件的架构有亲身体会。软件不是凭空想出来的。
13. 对于整个项目来说,要始终保持前进,而不能走走停停。但是又不能太快,欲速则不达嘛
14. 对于问题要尽早发现尽早解决,而不要等到软件结构太庞大时再去解决,那样难道会比较大。
其实,脑子里还有一些想法,但是不想继续写下去了,因为这只是纸上谈兵,怎样把这些习惯运用到实际的项目中才是重点。其实,敏捷只是解决问题以及预防问题的一些方法,这些方法可以使我们更好的与其他人沟通,更好的解决问题,把工作做的更完美。希望再下个项目中可以好好的运用这些方法,让开发更“敏捷”!
权限管理
- 数据库表设计:

- 后台的登录时序图:

- 详细讲解设计:假定,用户(op)为zhangsan ,id是1,角色是:200. 那么以下的情况:
a) 权限文件
i.当 添加/修改 用户权限时,会修改对应权限文件,该文件以用户id(op_id)为名 1.php,存放在指定的权限文件夹下
ii.删除用户时,会把对应的权限文件删除
iii.验证权限时,会把该权限文件引入,在根据当前访问连接地址,比如:http://www.xxx.com/user/op.php?act=del ,会获取/user/op.php这部分的page_url,来获取menu表中与之对应的id,而act=del则表示他的权限,【根据权限文件中存放的是:menu_id=>权限】这样的格式,就可以对比出,用户是否有权限访问。当然,如果权限文件中连这个menu_id都没有的话,肯定是没有权限的。
b)菜单文件
i.跟权限文件一样,也是在用户添加权限后,就会把它对应的权限的菜单,生成一个以id为名的html文件.(1.html)
ii.用户删除后,对应的1.html文件删除.
iii.登录成功后,后台的右侧菜单,就导入该文件,渲染一下即可。
iv.菜单分为:固定菜单[配置文件,针对角色高的用户拥有] 和 可分配的菜单[存放在数据库],不同的角色,菜单不一样,如果是普通的角色,那么肯定没有固定菜单的权限。
c)操作员角色(op_role) 包括:1 = 操作员,200 = 运维操作员,254 = 超级管理员,255 = 系统管理员
i.这里所用到的角色不是用来控制权限。而只是控制后台的菜单,假如用户(op) A角色是255,那么会有在判断用户权限时,就会显示出该角色对应的固定菜单,比如:用户的管理,菜单的管理,不会因为删除了所有菜单而导致无法使用的情况!
d)验证流程:
i. 菜单载入流程

ii. 权限的判断:

权限的运算:http://www.cnblogs.com/toby/archive/2011/10/23/2221863.html
浙公网安备 33010602011771号