查看ES6项目中父子类继承关系的工具。

发布于 2022-09-04 10:03:24 字数 170 浏览 14 评论 0

项目中用了ES6的继承。随着开发人员多了之后发现,有些情况下改动了父类,忘记测试子类是否可以工作了。可能开发人员不知道这个类是不是被其他类继承了。

我想问的是,有没有一种工具可以清晰的看到项目中的类的继承关系?这样就比较方便的看到当前这个类是不是被子类继承了,改动的时候就会测试下子类。

谢谢。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

轻拂→两袖风尘 2022-09-11 10:03:24

来自外国友人 bug-a-lot 的回复:

Unit Tests

Unit test your code! If a superclass changes behavior, it will likely
break a unit test, so you know you messed up and you know to correct
the offending subclasses.

If it broke functionality in your application, but not one of your
unit tests, then your unit test coverage is not good enough, or you've
missed some scenarios.

That's the number one thing you should do before any kind of
refactoring! Unit test, unit test, and again unit test!

Text Search

If you're using any fancy IDEs you could search through javascript
files for something like "extends MyChangedSuperClasss", assuming you
colleagues don't use an arbitrary number of spaces between the keyword
and the class name.

If you're not using a fancy IDE try to find a file manager that offers
text search functions.

How to check the inheritance relationship of ES6 classes in my project? - stack overflow

请帮我爱他 2022-09-11 10:03:24

由题主的描述, 恐怕题主的项目并没有形成系统设计文档(System Design Document, SSD)吧, 系统设计文档里面关于类之间的继承关系UML图--类图是可以很清晰地看到系统类继承状况的工具图.

如果说要用于测试的框架的话, mocha+chai是一个不错的选择, 但是目前答主这块掌握不很深, 所以不清楚能否在父类改动的情况下自动进行子类的测试.

夜灵血窟げ 2022-09-11 10:03:24

ES6以后应该会有,目前浏览器连严格模式都不是全部兼容呢,这种工具很难开发啊。我是没见到过。

完美的未来在梦里 2022-09-11 10:03:24

简单粗暴的方法:用正则全局搜索,例如extends Parent,搜全部的classextends,把结果整合起来,就能有个继承关系图了,不太准,但能用。

高级做法是做解析,略复杂,也许可以在babel的基础上做,或者直接用类型推导的工具(flow,ts)做。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文