Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
User interface 客户编号、订单号的最佳格式是什么?_User Interface - Fatal编程技术网

User interface 客户编号、订单号的最佳格式是什么?

User interface 客户编号、订单号的最佳格式是什么?,user-interface,User Interface,一家大型国际公司部署了一个新的web和MOTO(邮购和电话订购)处理系统。除此之外,您的任务是设计订单和客户标识号的格式 你认为最好的格式是什么?请列出任何假设和考虑事项 接受答案 Michael Haren的答案因得票最多而被选中,但请务必阅读其他答案和评论,因为它们使Michael的答案更完整。选择所有数字或所有字母。如果必须将其混淆,请确保没有不明确的字符(Il1m、O0等) 显示/打印时,请在每3-4个字符中添加空格,但请确保您的系统可以处理不带空格的输入 编辑: 另一个要考虑的事情是

一家大型国际公司部署了一个新的web和MOTO(邮购和电话订购)处理系统。除此之外,您的任务是设计订单和客户标识号的格式

你认为最好的格式是什么?请列出任何假设和考虑事项


接受答案


Michael Haren的答案因得票最多而被选中,但请务必阅读其他答案和评论,因为它们使Michael的答案更完整。

选择所有数字或所有字母。如果必须将其混淆,请确保没有不明确的字符(Il1m、O0等)

显示/打印时,请在每3-4个字符中添加空格,但请确保您的系统可以处理不带空格的输入

编辑:
另一个要考虑的事情是建立一种区分订单、客户等的方法。例如,客户总是从10开始,订单总是从20开始,供应商总是从30开始,等等。

< P>我只会使用数字,因为它是一家国际公司。我会每隔4-6个数字用空格或破折号来分隔它。我也会将格式分开,以便快速识别

例如:

000-00000-00000-可能是客户编号


00000-00000-00000-00000-可以是一个订单号

以丹尼尔和迈克尔的问题为基础:如果分开的数字意味着其他东西,那就更好了。例如,我在一家公司工作,其账号如下:

xxxx-xxxx-xxxxxxxx


第一组数字代表该地区,第二组数字代表该地区内的市场。一旦你习惯了知道哪些数字是从哪些方面来的,你就可以很容易地知道一个帐户在哪个领域,甚至不必查看客户的帐户。

假设订单/客户的创建不是集中的,或者不会总是集中的,请使用GUID

如果订单/客户的创建始终是集中的,则可以使用无符号整数

没有令人信服的理由认为客户编号的订单编号“意味着”任何东西,而且很可能发明的任何分段编号方案都必须在未来进行彻底检查。坚持做一些独特而无意义的事情

编辑:对于MOTO,任何多字符的字母标识符都会在电话中引起问题,所以GUI是正确的。假设有多个分散的MOTO位置,为每个MOTO位置分配一个前缀(a、B、C等,或01、02,…),并为客户和订单ID使用一个整数或大整数,例如01-1是MOTO位置#1的第一个订单。请注意,零填充是不必要的,它对数字施加了隐式数字限制,并要求客户在说出数字时区分六个零和七个零。如果必须使用填充固定长度格式,请将数字分成不超过4或5位的组


附录:订单号和客户号不必是各自表的主键,只需是用于查找的唯一索引列。您可能希望对数据库中的主键使用更简单/更有效的方法。

我希望我的订单号遵循以下格式:

ddmmyyyy-####-####
其中######-####在每天开始时重置为零。这使得将订单与下订单日期关联起来非常容易

对于客户ID,我会混合使用大写字母和数字,但正如Michael所说,要避免常见的错误字母(0、o、L、1、5、s)。这将给你30个字符来处理。如果您使用20个字符,这将提供几乎64位的客户ID范围——这对于安全性非常好。确保在生成ID时使用安全的随机数生成器。至于如何显示格式,应如下所示:

####-####-####-####-####
正如Michael再次指出的,确保您的系统能够处理破折号、空格、无空格或无破折号。(它应该在验证之前从输入中删除所有这些字符。)

我希望这有帮助

  • 尽可能长地填写号码,但不要再填写。每次我支付水费账单时,我都必须输入20位的客户号码和18位的发票号码。谢天谢地,我的客户编号中的一个破折号将其分为两部分

  • 不要依赖前导零。必须计算我的发票号码中有多少个零是非常烦人的。以0000000000 51415432为例。他们的系统不会只识别51415432

  • 将数字分组在一起。如果你一定要使用长数字,四位数的数据块应该可以很好地工作


只使用数字的一个主要优点是,使用10键可以更有效地输入数字

该编号的长度应尽可能短,同时仍包含您希望编目的整个实体空间,并留出空间。这可能很棘手,应该仔细考虑一下。在给定一组元素的情况下,只需输入一点就可以获得访问的唯一密钥的数量

说话时,把数字分成两到四位数是很自然的。通过在某些模式中插入破折号,您可以“强制”客户以更高效、更明确的方式重复它们

例如,323-23-5344,这当然是社会保险号码格式,有助于通知演讲者在说出号码时在何处暂停。它还提供了一个视觉描绘时,写的数字,并使之易于比较时,复制的数字

我支持订购系统正确屏蔽输入的建议,以便在任何时候都不需要输入破折号。这应贯彻到打印表格中,以提供应输入内容的明确预期。例如,每个数字的打印框由打印的破折号分隔

我不同意