我的代码有三个文件,一个负责产生SVG
字符串,一个负责存储该字符串,一个负责绘制
代码大体如下所示,并且三个分处不同的文件
class Producer {
void createSvgString();
...
};
class Storage {
void setSvgStying();
...
};
class Draw {
void drawSvgFigure();
...
};
现在有一个需求,我需要在判断这个SVG
图案是不是一个封闭的图案。
一开始为了避免修改太多的逻辑,我在构造SVG
字符串的时候,对于封闭的容器,在字符串的尾部添加了一个Z
结尾。然后我只需要在绘制类中,对其进行判断就可以解决问题了。
这个方法存在着一个相当大的问题,很容易给后续的开发者埋坑。判断是否为容器的方法严重的依赖于产生SVG
字符串的函数,后续若忽视了这点,针对于容器进行其他功能开发时,一旦出现问题,需要在另外的文件中,一个不相干的类中去解决。
所以此处的做法应该是专门创建一个函数,用于判断是否为容器,再将其结果传递给绘制类。
以后再干活的时候,要注意一个函数就专心干一个活,不要在其中穿插其他函数应该干的活。