英文:
How can I prevent devs from using a global?
问题
我有一个使用自定义包装器覆盖 chrome.runtime.sendMessage
的TypeScript项目,用于发送消息。这个自定义包装器确保消息格式正确、安全等。
然而,在代码库中经常有开发人员更替,新的开发人员经常尝试直接使用 chrome.runtime.sendMessage
(而不是包装器)。
是否有任何方法可以在他们尝试访问该方法时,在编译时或在他们的IDE中显示警告?
英文:
I have a TypeScript project that uses a custom wrapper over chrome.runtime.sendMessage
to send messages. This custom wrapper makes sure the messages are formatted correctly, are safe, etc.
However there is a lot of turnaround of devs in the codebase and new devs often try to use chrome.runtime.sendMessage
directly (and not the wrapper).
Is there any way I can display a warning, either at compile time or in their IDE, when they try to access that method?
答案1
得分: 5
你可以使用类型注解,以下是一个示例,用于避免在 Node.js 中使用 new Buffer(number)
。
interface BufferConstructor {
/**
* 分配 {size} 个八位字节的新缓冲区。
*
* @param size 要分配的八位字节的数量。
* @deprecated 自 v10.0.0 起弃用 - 请改用 `Buffer.alloc()`(还请参阅 `Buffer.allocUnsafe()`)。
*/
new (size: number): Buffer;
}
英文:
You can use type annotation, below is an example used to avoid new Buffer(number) for Node.js
interface BufferConstructor {
/**
* Allocates a new buffer of {size} octets.
*
* @param size count of octets to allocate.
* @deprecated since v10.0.0 - Use `Buffer.alloc()` instead (also see `Buffer.allocUnsafe()`).
*/
new (size: number): Buffer;
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论