【发布时间】:2018-08-03 00:54:18
【问题描述】:
这是一个征求意见的请求,我们称之为 RFO 我希望社区能很好地接受这一点,因为我非常希望得到反馈,并且总体上觉得我们都可以使用更多的见解这个经常被忽视的问题。
自从 C# 出现以来,我一直是 C# 开发人员(我从 ASP 过渡)。当我编写代码时,我很自然地倾向于使用public 和private。几乎不可能阻止我将public 添加到我在 TypeScript 中的方法和属性中,即使它是默认的。
我对 TypeScript 甚至是严肃的 JavaScript 还有些陌生(在 typescript 上工作了 2 年)。
众所周知,private 实际上不是在转译代码中的private。因此,虽然private 成员访问 对单独或团队工作的 Typescript 开发人员很有帮助,但输出的 JavaScript 却被额外的变量污染了。
一个人可能有吸气剂和漂亮的设计原则,但最终,你所拥有的是一堵执行相同操作的变量墙,或者至少否定了我们为保护所做的所有努力代码。我们使用下划线 _toLetOthersKnowOurIntent。 Angular 的样式指南建议我们避免在私有变量上使用 _。
那么问题是,如果您在 typescript 中编写代码供使用 JavaScript(某种包)使用的人使用,那么使用私有属性是否更有害且更令人困惑。使用或private 是否仅适用于与其他 TypeScript 开发人员合作。如果你正在开发一个库,比如说一个通过 NPM 分发的 Angular 组件,应该一起避免 private 吗?
【问题讨论】:
-
您好 Eddie,您在问题中明确征求意见,而 StackOverflow 的 FAQs 声明任何问题“......主要基于意见的问题,或者可能产生讨论而不是答案......”应该避免。由于您没有解决实际的“问题”,因此 SOFTware Engineering SE 站点可能是一个更好的起点。 This question 可能已经对你有所帮助了。
标签: angular typescript