Questions tagged «formatting»

6
为什么不从数据库以字符串形式返回日期?
在典型的Web应用程序中,从强类型的数据库层中检索日期(例如,在c#中为System.DateTime,与System.String相反)。 当日期需要表示为字符串时(例如,显示在页面上),则在表示层中完成从DateTime到字符串的转换。 为什么是这样?为什么将DateTime转换为数据库层上的字符串是一件坏事? 另请参阅聊天中激烈的辩论,以及引发所有这些问题的原始问题。

9
强制代码重新格式化的优缺点
我目前在一个可能正在强迫开发人员在版本控制签入中使用自动代码格式化程序的地方工作。我正在寻找开发人员关于这样做的优缺点的意见……您认为这对开发人员有何帮助或阻碍。我的具体案例涉及Java / JSP,但我认为该问题可能适用于任何语言。

2
如何用JSON表示集合?
JSON支持以下数据结构(等同于Java):标量,数组/列表和映射。 一个Set不支持出的现成的JSON。 我考虑了几种用JSON表示集合的方法: [1]-作为列表 然而,名单都有自己的排序,所以下面的两个列表,["a", "b"]并且["b", "a"]是不相等的名单,但他们应该是平等的套。 [2]-作为地图 使用地图的键集,并忽略值。 但是再次,使用标准比较,两者与地图不同: {"a": "foo", "b": "bar"}, {"a": null, "b": null} [3]-作为地图,具有特殊价值 取一个标量,说0或说,null并使其成为地图中每个键的值: {"a": 0, "b": 0} 这样,即使更改了键顺序,在标准比较工具下,对象也是相等的。 但是,此技术会使用不相关的数据污染JSON文档。 [4]-作为有序列表 回到第一个建议,但是这次作为有序列表。这种解决比较问题。 但是,我们还应该记住排序的复杂性,并且映射符号可以处理重复项,而排序列表则不能。例: {"a": 400, "a": 9}被处理为{"a": 9},但["g", "g"]总是这样["g", "g"]。 说了这么多,在我看来,列表符号更清晰了,但是映射符号对键重复更健壮,并且很难使特殊值保持一致(尽管这null似乎是一个不错的选择)。 你怎么看?您将如何用JSON表示集合? 聚苯乙烯 请注意,这个问题仅与JSON有关。我知道可以使用其他格式,例如yaml。仍然...

6
单线与可读性:何时停止减少代码?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 2年前关闭。 语境 我最近对产生更好的格式化代码感兴趣。更好的意思是“遵循足够多的人认可的规则,将其视为一种良好的做法”(当然,因为永远不会有一种独特的“最佳”编码方式)。 如今,我主要使用Ruby进行编码,因此我开始使用linter(Rubocop)为我提供一些有关代码“质量”的信息(此“质量”由社区驱动的项目ruby-style-guide定义)。 请注意,我将使用“质量”作为“质量格式化的”,与其说是对代码的效率,即使在某些情况下,代码效率实际上是由代码是怎么写的影响。 无论如何,做完所有这些事情,我意识到(或至少记得)一些事情: 一些语言(最著名的是Python,Ruby等)允许编写出色的一线代码 遵循一些代码准则,可以使代码大大缩短,但仍然非常清晰 但是,过于严格地遵循这些准则会使代码不太清晰/不易阅读 该代码几乎可以完全遵守某些准则,但质量仍然很差 代码的可读性主要是主观的(如“我发现对开发人员完全不清楚的内容”) 这些只是观察,并非绝对的规则。您还将注意到,此时代码的可读性和遵循的准则似乎无关紧要,但此处的准则是一种缩小重写代码块的方式的方法。 现在,举一些例子,使所有这些变得更加清楚。 例子 我们来看一个简单的用例:我们有一个带有“ User”模型的应用程序。用户具有可选firstname和surname必填email地址。 我想编写一个方法“ name”,firstname + surname如果至少存在用户firstname或,则将返回该用户的名称(),如果没有,则返回surname其email后备值。 我还希望此方法采用“ use_email”作为参数(布尔值),从而允许将用户电子邮件用作后备值。此“ use_email”参数应默认(如果未传递)为“ true”。 用Ruby编写最简单的方法是: def name(use_email = true) # If firstname and surname are both blank (empty string or undefined) # and we can use the email... …

2
您如何更改intellij自动格式化代码的方式?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为软件工程堆栈交换的主题。 4年前关闭。 IntelliJ对Javascript代码进行了一些奇怪的格式化,而我正在尝试弄清楚如何使其停止格式化。每当我将jQuery函数链接在一起时,它就会缩进自动创建的代码,例如: $('#something').focus(function() { /* Do some stuff */ }).blur(function() { /* this is where the cursor and closing braces end up */ }) 我希望它看起来像这样: $('#something').focus(function() { /* Do some stuff */ }).blur(function() { /* cursor and closing braces indented normally */ }); 我该如何更改?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.