一旦我设置了一个项目,我需要设置代码来描述返回客户端的操作结果。
因此代码如下:
100 'succeed
200 'failed
201 'failed because the require object doesn't exist
...
或者喜欢这些:
43100 'shop buy item succeed
43201 'shop buy item failed because user doesn't have enough money
43202 'shop buy item failed because the item sold out.
...
但是在实际开发中,返回代码的东西并不顺利,队友必须使用字典来查找代码的含义。没有人记住它们中的任何一个。
所以我想为什么我们必须使用数字作为返回码?只是因为根据我们的经验,许多协议返回数字代码,如最着名的http协议404,403,500等。
所以我的问题是为什么他们使用数字?不是字符串更适合人类阅读? 比如'FileNotFound'替换404.或'success.cart.order',这意味着在模块'cart'子函数'order'中操作成功。
答案 0 :(得分:1)
人类可读性只是一个方面,在大多数情况下,您还需要处理操作结果。执行字符串比较容易出错且不必要地付出代价。最近,有人询问using constant values instead of literals,这就是你如何实现可读性:通过为所有返回代码使用命名良好的常量。我喜欢使用Enum
来完成这项任务,但这在所有编程语言中都是不可能的。
答案 1 :(得分:1)
因为经常收到状态代码的是另一个代码。
必须解析字符串消息(可能因语言设置而异,或者因为开发人员选择在后续版本中改进措辞)可能非常复杂。
在许多情况下,你可以返回一个数字代码和一条消息 - 一条用于代码消费,另一条用于人类。
答案 2 :(得分:1)
好吧,我不知道明确的答案。但是,对于软件,数字有一些优点:
switch
/跳转表数十年(处理速度也更快)。FileNotfound
代替FileNotFound
。