gpt4 book ai didi

c# - 泛型/模板中的长(可读)名称

转载 作者:搜寻专家 更新时间:2023-10-31 01:07:07 25 4
gpt4 key购买 nike

我发现自己有时使用 Java 泛型编写的代码看起来像这样:

/**Class description
*@param <K> Key to '.....'
public class Mappy<K>{
///class methods, fields, etc....
}

有时使用单字符名称会导致速度变慢,几个月后我返回代码并且必须不断向上滚动才能记住“T”和“E”是什么。但我最后查了一下,Oracle 的官方指南是单字符名称,我从未见过 java 程序员不这样做。

在 C# 中,使用 TDescription 是官方风格指南的一部分,类似于 Google 和其他公司使用 Ixxxx 作为接口(interface)的方式。但我仍然在 C# 的生产代码和 API 中看到单字母名称。我听说它在 C++ 中很相似。在 Haskell 和 Ocaml 中,尤其是 Haskell,您在函数签名中使用 'a' 或 'b' 作为通用参数(忘记编译器/解释器是否强制这样做或者它们是否可以是多字母)。

我只是问这个“问题”,看看你们是怎么做到的:你们在泛型/模板/等中坚持使用单字母名称吗...,你们有像 Txxx 这样的约定吗?给他们起完整的名字(这会让同事感到困惑),还是您会做其他事情?

这与 Breaking java generics naming convention? 非常相似(我通过谷歌找到的)。而不是戳那个问题,我只是想收集一些现代意见(看看过去两年半是否有风格政变)。

编辑 1:

出现这个问题的原因可能是几天前我 promise 要转储变量“i”。太多次使用快速和肮脏的循环变量“i”导致嵌套循环和重构出现问题,所以我决定只使用完整的名称。

最佳答案

命名约定作为一种工具存在,可帮助您维护代码的可读性。

他们随时为您提供帮助。它们不是规则。
拥有易于阅读和可维护的代码比盲目地遵循命名约定具有更高的值(value)。

关于c# - 泛型/模板中的长(可读)名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19769510/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com