问题标签 [field-names]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
221 浏览

shadowing - 字段名称最佳实践(阴影或复合名称)

正如上面的红色块(警告这是一个主观问题并且可能已关闭),可能没有关于此问题的石刻法,但我不明白为什么这需要关闭一个问题。

...一边咆哮一边

我计划将 Hibernate 实现为我的持久性框架,这可能会在实现时解决我的问题,但我有可以转换为类和子类的 DB 表(省略了现实生活中存在的许多细节和复杂性 :)):

因此,对于应该做什么以及为什么:

阴影:
我可以将这些保留原样,这需要一些反射技巧(根据http://forums.sun.com/thread.jspa?threadID=5419973),当使用编译时类型未知的对象时。

复合名称:
我可以在其类名之前命名我的所有字段,即a.aNameand b.bName,这在现实生活中变得非常丑陋:Door.DoorNameRotatingDoor.RotatingDoorName

Getter 和 Setter:
我没有提到这一点,因为对于 JavaBeans,这些将派生自字段名称,而且我相信 Hibernate 使用带注释的 POJO。

为了稍微影响结果,阴影似乎是最健壮的,至少在我的情况下,类a扩展了Name定义的抽象类,然后在适用时b使用自己的阴影Name。使用复合名称意味着如果我想向NickName所有数据库表添加一列,那么我必须将该字段添加到每种类型(那么继承的意义何在?!)

最后,我决定找出那些经历过实施其中一种或多种技术的利弊的人在这个问题上的看法;或者那个方便的石头蚀刻最佳实践会做:)

-Nomad311

0 投票
4 回答
5426 浏览

database - 数据库时间戳字段的命名建议

在创建数据库表时,我经常在尝试命名我的时间/日期/时间戳字段时感到困惑。有时这很容易,例如 edit_date 和 expiration_date ......但通常并不那么容易。我不喜欢在字段名中重复表名,因为它看起来是多余的。如果你有一张posts桌子,你的时间戳字段应该是post_date?显然我们不应该(不能?)使用日期/时间/时间戳作为字段名称,尽管有时如果我们可以选择它们似乎是最佳选择。

是否有命名时间相关字段的逻辑命名约定?由于这个问题可能无法明确回答,所以我从一开始就对它进行了维基百科。将其全部输入后,这似乎是微不足道和愚蠢的,但希望过去有其他人为字段名称而苦恼,他们会同情。

编辑:

作为一个相关的后续问题,在处理不仅仅是日期组件的日期时间/时间戳数据(DownloadDate vs. DownloadTime vs. 其他东西)时,您是否在字段名称中使用“时间”或“日期”?

0 投票
1 回答
757 浏览

sql-server - 在 Microsoft SQL 查询分析器中保存字段名称

当您使用“Microsoft SQL 查询分析器”(版本 8)保存 SQL 查询的结果时,会保存查询结果,但不会保存列标题(字段名称)。知道如何将字段名称保存到结果文件中吗?

0 投票
1 回答
198 浏览

ruby-on-rails - Rails -> 用“updated_at”做一些事情,比如 id 的“set_primary_key”

有一个带有字段“LastModifiedDate”的旧表,我想将该列用作我的“updated_at”列。

有没有办法告诉 Rails 使用该字段?

或者,让我换个说法。:) ...我如何告诉 Rails 使用该字段?:)

谢谢!

0 投票
1 回答
1979 浏览

mybatis - 不同表中的重复字段名使mybatis中的`SELECT`查询复杂

我有一些表都有一个名为 的字段created_at,这是一个时间戳,表示插入行的时间。

现在我使用 mybatis 3 作为持久层,用join.

看看我期望得到所有问题及其答案的简单 sql:

但我发现,因为questionsandanswers都有 field created_at,如果我写select q.*, a.*,结果集中有 2created_at个,第二个被忽略。所以答案的created_at值为questions,这是不正确的。

为了避免这种情况,我找到了两种方法,但都不好:

  1. 修改每个表的字段名称,确保它们不相同。例如:questions.created_at-> questions.q_created_atanswers.created_at-> answers.a_created_at

    这不好,因为有很多这样的字段,如,,,,它id使数据库难以阅读和维护以更改这些名称nametitleupdated_at

  2. 修改 SQL。更改sql中的字段名称,例如:

    这不好,因为我需要更改 SQL 中的每个字段名称,它变得非常长且难以阅读,并且每次编写这样的 SQL 都非常痛苦。

我是mybatis新手,有没有更好的解决这个问题的方法?

0 投票
6 回答
3004 浏览

java - Java/Scala 以类型安全的方式获取字段引用

Java 声称是面向对象和类型安全的,Scala 更是如此。

内部类字段由名为 Field 的类表示,您可以通过反射 API 获取对其的引用。

我的问题:这些语言是否提供了以类型安全的方式获取该字段引用的任何方法?(如果不是,为什么不呢?似乎是一个明显的缺陷)

在将 Object 映射到某些外部表示时,例如映射到模板中的 html 字段或数据库中的列名,以使引用名称自动保持同步,这将非常有用。

理想情况下,我想说的是:

获取字段声明的名称,类似于 java 枚举让你说的方式:

[更新:] 在阅读了有关此功能会以某种方式违反反射 API 意图的反馈后,我同意反射是为编译时未知的事物而设计的,这正是为什么必须使用它来实现学习编译时已知的东西,即它正在编译的类的字段!

编译器为枚举提供了此功能,因此如果编译器能够访问枚举字段的引用以允许 MyEnum.SOME_INSTANCE.name(),那么它不应该也能够为普通类提供相同的功能没有逻辑上的理由.

是否有任何技术原因导致普通课程无法提供此功能?我不明白为什么不这样做,我不同意这个功能会使事情“复杂化”……相反,它会大大简化目前繁琐的反射 API 技术。为什么要强迫开发人员使用反射来找出编译时已知的东西?

[更新#2] 至于这个功能的实用性,你有没有尝试过在 JPA 或 Hibernate 中使用 Criteria API 来动态构造查询?您是否看到人们想出一些荒谬的变通办法来避免必须传入要查询的字段的不安全字符串表示形式?

[更新 #3] 最后,一种名为 Ceylon 的新 JVM 语言已经注意到了这一呼吁,并让这件事变得轻而易举

0 投票
1 回答
10106 浏览

mysql - mysql 到 CSV,动态插入第一行的列名

我正在显着修改我原来的问题......

这非常适合将您的表格转储到具有第一行字段名称的 CSV。

但是,当您有数百个字段并且不时添加新字段或更改或删除字段时,我需要一些动态的东西,它将字段名称动态地放在上面的格式中,这样这个查询就可以随时在脚本中工作,而不必手动更新字段名称。

0 投票
5 回答
31550 浏览

python - Pythonic 按字段名称对命名元组列表进行排序的方法

我想对命名元组列表进行排序,而不必记住字段名的索引。我的解决方案似乎很尴尬,并希望有人能有一个更优雅的解决方案。

谢谢,尼克

0 投票
1 回答
221 浏览

vb.net - 使用 Filehelpers.dll 在输出中显示字段名

想在输出中显示字段名,但我不知道如何解决这个问题。任何人请帮助..

测试.aspx.vb

IF格式.vb

xxxxxxxxxxx.log我得到的示例输出:

我想要的输出:

0 投票
4 回答
72 浏览

php - 列出字段值为 '1' 且 id=$id 的字段名称

我有一个表 'jobs' 的字段 id、p1、p2、p3,其中 p1、p2、p3 下的一些条目的值为 '1'。我如何获得一个简单的字段列表(p1、p2 或 3),这些字段在 id=$id 的表作业行中的值为“1”。