这周开始结对作业,还有对接的问题于是乎就看了一些关于接口、类的东西
由于结对两个人的空余时间的重合度不高,所以还是会有些时候是一个人写,另一个人上课。这样就存在一个代码的理解问题,还好队友和我都是没有记忆力的金鱼,没有了注释可能自己都不知道自己干了啥,于是乎在代码里面的注释很关键,宜多不宜少,要让队友看懂自己写了啥、要干啥其实就是提示自己如果检查的时候怎么看懂自己的代码,所以这一部分做的很好,即使有些代码我没有亲自看着编写但是在注释的帮助下还是可以找到些许的小bug。充分地让我认识到了结构整整齐齐,规范可以很方便开发人员们的交流,节省很多时间(这个对于我们这种一直处于补作业的学生党极其重要!)更关键的是我们这样的萌新在写bug的时候会很容易在debug检查的时候快速找出问题。
当然,开发一个产品的时候时刻都要想着制作过程是一个迭代更新的过程,那么就意味着我们的功能要有较好的拓展性,可以轻易的从初步功能扩展到最终功能,那么就要保证一些代码的灵活度可以随意的更改添加就可以实现另一个方向的作用
就像老师的十分贴切地比喻,编写代码就是像是搭积木一样,不是每一个方块都要我们自己亲手写,而是要重视代码的复用!将一些复用度较高的函数封装起来,这样不仅结构更加清晰,更加方便了检查和拓展更改功能!
以上就是我对于软件构造活动的可理解性,可扩展性,可复用性的理解
真正的算是用上了c++的类这个东西来实现开发软件,这才知道了结构体与类之间的关系,ADT与类之间的相似之处,对类与对象的认识和理解有了新的高度
合理的运用ADT可以带来两点巨大的不同:
1·统一了现实世界(问题空间)和软件世界(解空间)的术语。开发人员可以像是在真实的世界里面一样合理地操纵软件世界的事物(对象),这让开发人员的思想过程更加的贴近人类生活的过程,思考的方向更加的自然而高效;不仅如此,还方便了代码的理解,容易避免错误
2·隔离了变化。类似于宏的作用,在修改代码的时候可以减少修改的量,同时也减少了错误的数量,也不需要修改者详细地理解原来的代码的作用就让更新工作更加让人放心大胆的做
封装:认识到封装的意义和作用才能知道在那些地方应该封装起来,逐渐逐渐的让自己的代码的风格更加清晰规范化只有封装好了才能有积木可搭,所以源头的产生很重要的
封装就意味着隔离,那么应该隔离什么,该聚集什么就是一个十分值得考虑的问题,应该以操作数据的类型为依据还是以各种数据的共通的方法为依据,比如:是以图形为依据分类,还是以对图形的各种处理为依据分类
继承与多态:将类的特点,数据或者是方法继承过来,很类似于复用代码,再加上可以增加自己的特色就算是多态了,这样就能有清晰的层次,增加了代码的可读性,和拓展性