代码之家  ›  专栏  ›  技术社区  ›  brasskazoo

这里可以使用什么描述性变量名?

  •  3
  • brasskazoo  · 技术社区  · 17 年前

    我正在创建一个定制的Java Struts标签,用于以标准化的方式构建和格式化HTML选择框(我们的可用性指南的一部分)。

    每个选择框都有一个附加/初始值,该值描述了选择元素返回值的要求,即:

    • 强制性的 -标签为“请选择”
    • 可选的 -“未选择”
    • 选择全部 -“选择全部”

    自定义标记将具有一个属性,该属性控制要使用这些标记中的哪一个。

    所以问题是,我需要考虑一个变量名,它可以充分解释这三个值中的一个。
    在任何情况下,我都会对代码进行注释,但我希望同事不必查找源代码来记住标记变量的用途。

    编辑: 为了解决这个问题,我在这里实现的可用性策略是,如果可以选择5个以上的项目,那么选项应该显示为一个选择框。5个或更少的项目将显示为单选按钮。
    当使用单选按钮时,将不显示强制标签(如果仍然没有选择值,则表单验证将投诉)。

    4 回复  |  直到 17 年前
        1
  •  6
  •   Mike Spross Alex Martelli    17 年前

    注:请参阅下面的编辑,了解与此处给出的方法不同的方法

    怎么样 requirementConstraint ?

    <my:customSelect requirementConstraint="Mandatory">
       <option value="1">A</option>
       <option value="2">B</option>
       <option value="3">C</option>
    </my:customSelect>
    

    另一个可能的情况是首先不要三态化值。例如,您可以提供两个单独的属性: required ( "yes" | "no" ) selectAll ( “是”“不” )使意图更清楚。


    编辑 :实际上,如果我正确理解您的需求,我可以看到三态是如何仍然有用的。另一种可能是调用该属性 mustSelect 并使允许值 one (强制性) any (可选) all (选择全部)。另外,由于“全选”是一种可能性,我假设 customSelect 标记将每个选项呈现为复选框。一个如何 必须选择 可以使用:

    强制(至少一个)

    <my:customSelect mustSelect="one">
       <option value="1">A</option>
       <option value="2">B</option>
       <option value="3">C</option>
    </my:customSelect>
    

    可选(零或更多)

    <my:customSelect mustSelect="any">
       <option value="1">A</option>
       <option value="2">B</option>
       <option value="3">C</option>
    </my:customSelect>
    

    选择全部

    <my:customSelect mustSelect="all">
       <option value="1">A</option>
       <option value="2">B</option>
       <option value="3">C</option>
    </my:customSelect>
    
        2
  •  3
  •   caskey    17 年前

    “多重性”似乎是正确的名称。

    看起来您正在描述以下值:

    强制性要求:1 可选:0 + 选择全部:n

        3
  •  1
  •   Pitarou    17 年前

    这是个有趣的问题。我以前一定见过这种情况很多次,但从来没有这样想过。

    您的问题是,您的编程语言支持双向选项(例如零或一)比三向选项(零一或多个)要好得多。“自然”产生的速记通常是编程语言产生的速记,因此对于三向选项没有“自然”的速记。

    本着kiss*的精神,我建议您在属性名后面附加“zerooneormany”。


    保持简单,愚蠢!

        4
  •  0
  •   Brandon    17 年前

    选择性

    强制/可选似乎是一个布尔值,无论这是一个可选字段。

    选择所有几乎似乎无关,可能是它自己的财产。

    推荐文章