前言
项目老大回家之前,让我和另一个人刚入职的程序,看新的一版的战斗UI的案子。但工作推进缺交给了原来的程序负责。只有4天的开发时间,就由原来的人负责。
在验收时间之前,出了一个中间版本,有几个问题。老大让我帮忙看下。
在重新梳理了下当前的需求,我在代码看到一个按钮逐渐显示的代码。我感觉对了下一个版本的需求。发现目前代码的无法满足,下个版本功能的扩展。
梳理下代码
UI部分和3D操作的部分功能分别由两个人来实现。UI上的一些用了数组来控制对应的文字或者image。
从UI代码来上,最大的问题,在程序设计上,不够抽象。这是刚入门以及写的功能不多。不会考虑未来策划的需求变更,自己的代码不够健壮,陷入无限修复bug中。
还有一些逻辑代码,一个函数在捡起的中,还有扔下的操作。函数最好单一功能。这中间造成的问题就是,数据一旦变化了,因为设定,就会有一些自动逻辑。然后造成逻辑就不对了。
个人理解对需求的阶段
对于策划的需求
* 第一个阶段是能实现策划的要的效果
* 第二个阶段是能抽象的思维,尽量减少使用数组用类来实现
* 第三个阶段是有抽象思维,写出的代码考虑未来扩展需求。足够健壮
* 第四个阶段是对于数据结构的使用很有心得,注重代码的效率,内存友好,时间上友好
策划每个版本的需求都要有案子,有变化,也要及时更新案子
质量标准
1正确性:代码能正确无误的实现功能。
2健壮性:在软件遭到意外情况时,仍然能健壮的运行。
3安全性:有效保护用户隐私,非授权用户不得使用,能够有效防止黑客的攻击。
4易用性:有必备的注释,修改起来容易,遵循MVC设计理念,各个模块之间耦合性低,易于维护。
面向对象
重新回顾面向对象的设计原则,并分别简述它们的含义。
1) 单一职责原则 (The Single Responsiblity Principle,简称SRP):一个类,最好只做一件事,只有一个引起它的变化.
2) 开放-封闭原则 (The Open-Close Principle,简称OCP):对于扩展是开放的,对于更改是封闭的
3) Liskov 替换原则(The Liskov Substitution Principle,简称LSP):子类必须能够替换其基类
4) 依赖倒置原则(The Dependency Inversion Pricinple,简称DIP):依赖于抽象
5) 接口隔离原则 (The Interface Segregation Principle,简称ISP):使用多个小的专门的接口,而不要使用一个大的总接口。