舍友们陆陆续续要去洗漱,李余对着UML表,一点点地去翻钟步青写的代码。
她想起钟步青的一段总结。
“我觉得学OOP最重要的是去思考设计,为什么别人这么去设计,为什么经典的设计模式是这样的,甚至于,为什么我们要关心这些。”
“重要的是讲究一个‘可持续发展’,不光是现在你想去实现的功能,同样重要的是如果你将来想加一些新的东西,能不能在不改动以前代码的基础上搞定。”
“就比如咱们写的这个游戏,你将来想加个新的怪;或者咱们现在展示出来的还是字符跟色块,你将来想改成更高级的贴图之类的。”
“这就是为什么管它叫OOP,面对对象嘛,就是尽可能把你的每个类都封装好,让它们尽可能独立,互动也尽可能减少依赖。
这样才能像拼图一样,想加什么直接往上面垒。”
“这里面还有个能见度的问题,谁能看到你里面的函数跟内嵌的结构,谁不能;
谁能改变你的数据,谁不能。”
。。。。。。
钟步青之前说没有时间实现额外的功能,但实际上在规划的时候预留出了很多拓展的余地。
她在表上用蓝笔写了密密麻麻的批注,这里可以加点功能,那里可以延伸机制。
她在最开始思考项目的构造时,就为队友留下了不少发挥的空间。
她在讲的时候一笔带过,直到李余认真看表,才明白她一些设计的用意——设计才是最难的部分。
钟步青听着歌啃着笔头把脑内的设计画下来时,已经把路都铺好了。
李余看着眼前的代码,详细的注释像是课本上的范例,仿佛生怕她看不懂。
她揉了揉自己左手的手腕,晚上钟步青拉她时握着的地方此刻还有种若有若无的酥麻感。
“所以对她来说,也应该尊重我对外不可见的数据吗?”
李余想着她傍晚时的反应,视线扫到画在表里的两个类,被钟步青用双箭头连着,上面龙飞凤舞地写着“Friend”。
“除了继承关系可以看到子类的数据外,还有一种方法可以看到私有的数据——”
钟步青给她讲的时候笑嘻嘻的,飞快地眨了下左眼,“成为朋友就好啦。”
“但要谨慎用这种方法,甚至说,尽量不要用。用多了会让程序很乱,失去了最开始设计的意义。”
“就像在现实中要谨慎交朋友一样。”
李余注意到“Friend”字眼下的蓝色批注:“实在没办法,只能声明成朋友了。”
她忍不住低声笑了起来,仿佛看到钟步青挠着头苦恼半晌后妥协地写下朋友时的样子。
——————————
钟步青现在也感到很苦恼。
站了一晚上,回到家,只感觉浑身无力。
她躺在床上,酸痛的腰总算有了点支撑,连接大小腿的筋有种后知后觉的麻痹感。
还是锻炼得太少啊。
她躺在床上放空大脑,忍不住回忆起傍晚时的事。
李余显然是有点特殊的,她的存在仿佛一下子把原本平凡的世界观换了个题材。
如果初中时还能勉强解释为自己记忆错乱,今天这出可是真真实实发生在眼前的。
初中时的同学可能会出于善意忽略谎言,蛮不讲理的中年男人可不会。
钟步青想了想记忆里的片段,猜测李余大概是有能够睁眼说瞎话的能力。
但这能力的触发跟局限想想就很含糊,起源也毫无道理。似乎只有自己明显对它免疫,这又是为什么?
也许不应该试图给玄幻设定赋予逻辑,钟步青想了想,决定放过自己。
自从跟李余重逢到现在,钟步青似乎没看到她再用过这个能力。