转载

unknown unknown

我小时候玩仙剑,大概是在百度知道之类的地方,看到有人「兴奋」地分享:你知道吗?只要在游戏里面按下 Alt+F4, 就会有好事发生噢!

当时我连「我不知道我被他骗了,实际上是会强制关掉游戏」的事实都不知道,自然被坑了,后来我知道了有个术语专门描述这现象:”unknown unknown”. 无独有偶,V2EX 曾经发生过类似但更为惨烈的悲剧,即某楼主请教如何在 OS X 清理垃圾,一楼唆使「执行 rm -rf /」,从而楼主二十四小时内再也没出现过,可以说是因为楼主不知道「他不知道 rm -rf / 的实际效果」。

从此以后,我便很照顾 unknown unknown 困境的人们,只需要喂给他们打破 unknown unknown 困境的一点关键词,聪明人就会自发打开通往全新世界的一张大门。比如有人在 docs 大海捞针地找某关键词,我就只说一句「按下 Ctrl-F 以查找」,他肯定会很感激无比。

最近,StarBrilliant 在 Python 众里批评了我,来龙去脉如下:

Isaac Ge: 我以为 str() 会调用实参的 str 成员,但官方文档没这么说,莫非 Python 标准并不规定这实现办法?

StarBrilliant: 说了的。Python的 slot 大法

Isaac Ge: 官方文档对 print() 的说明也挺语焉不详:

「All non-keyword arguments are converted to strings like str() does and written to the stream」

我不知道它到底会不会调用实参的 str , 或是自动用 str() 来转换它怎么的。

StarBrilliant: 你已经说了一堆“语焉不详”了

实际上文档写得清清楚楚,只是你每次都找错地方

接着他又如此评价我拼接字符串的代码:

path = expanduser('~') + '/Logs/' + __package__ + '/' log_pathname = path + name + '.' + time.strftime(             '%m-%d-%H:%M', time.localtime(time.time())) + '.log' fhdr = logging.FileHandler(log_pathname, 'a') 

StarBrilliant: 你这个字符串拼接,我给0分。Python 那么多种拼接字符串的方法,你非要用加号

我习惯在 devdocs.io 查编程语言的文档,但事后我发现它原来只包含 Library Reference , 我所要找的答案其实是在 Language Reference , 也就是说我一开始就不知道「我不知道自己找错了地方」;同理,我也不知道「我不知道除了 + 之外的其他字符串拼接法」。

虽然这事件里 StarBrilliant 语气冲,但我不怪他,当然他如果能直截了当地抛出 “Language Reference”, “slot” 和 “String Concatenation join” 等关键词,少评价我的 unknown unknown 错误,就再好不过。事实上, 讨论群正是大家互相扶持走出 unknown unknown 困境的好地方 ,当然,前提是 群成员都会自觉地「按图索骥」 ,即直接用先进的搜索引擎来搜索关键词。实际上我之所以政审入群要求,是为了过滤只会伸手不会搜索的平庸之辈。

最后再升华为编程规范吧: 友善对待处于 unknown unknown 的编程之徒,并积极地按别人的图来索骥。

Written with StackEdit .

原文  http://tech.acgtyrant.com/unknown-unknown/
正文到此结束
Loading...