Soft_Job 板


LINE

上次谈了《如何命名「数量变数」?》,收到很多回响,其中一个最常见的问题是 :「写程式一定要用英文吗?」今天就来谈谈这个题目。 * Google 简报: https://bit.ly/32rtGy3 * Google 简报原始档: https://bit.ly/2DGDhXd * Facebook 相簿: https://bit.ly/3fCF2mv * GitHub 讨论区: https://bit.ly/321ResR * Twitter 讨论串: https://bit.ly/2ZGtY2l --- # 写程式一定要用英文吗? 有的时候,因为既有的产业行规、社群文化、团队决策、技术限制,我们没有选择 ;也就是所谓「人在江湖,身不由己」。 这里讨论的是「可以自己选择」的情况,从以下两个层面来思考。 * 技术 * 价值 --- # 技术 ## 推荐「美式英文 + ASCII 字集」 因为历史因素,英文是电脑科学的通用语,累积了极大的智慧资产,是故,以「相 容性」为考量, * 在程式码层级,使用 ASCII 字码来命名变数、方法、类别、等等。 * 在使用各种工具时,使用 ASCII 字码命名档案、参数 * 现代键盘与字型罕有不支援 ASCII 字码的。 「美式英文 + ASCII 字集」是个「低成本、高效益」的选择。 ## 案例讨论 * 美式英文 与 英式英文 有些微拼字差异,例如 * Color / Colour * Center / Centre * Serialize / Serialise 当前函式库、工具链,大多以美式英文为主。 * UNICODE 有它的好处,但也有它麻烦的地方, (PTT 对 Unicode 的支援不完整,请到 Google 简报原始档看这段: https://bit.ly/2DGDhXd ) 例如 * U+03B1 / U+237A 看起来很相似 * U+00C1 / U+0041 U+0301 显示出来是同一个字,但是是不一样的字元 * 有些语言需要用到完整的拉丁字集才能精准表达意思。 後面会讨论「在程式码中使用 Unicode 」的案例。 --- # 价值 程式作品的价值主要来自於「满足需求,解决问题」,而不是「写程式时用英文」 。 这 *不是* 在否定「写程式时用英文 / 与世界潮流接轨 / 让维护程式的人好做事 」这件事。 若能把英文学好,能流利地写 commit 讯息、写注解、写文件、与洋乡民交流、开 拓职涯,当然是好事。 这里我们思考的是「成本与效益的平衡」,也就是说,如果目前英文还没有那麽好 ,怎麽办? 也就是「写程式一定要用英文吗?」 我的主张是: * 「满足需求,解决问题」 > 「写程式时用英文」 * 「正确 + 清楚 + 简洁的资讯」 >模糊的资讯」 * 「正确 + 清楚 + 简洁的非英文资讯」 >模糊的英文资讯」 也就是说,当你的程式作品先创造了价值,之後才会有人来想了解它。(也有可能 是两周後的你自己回来看这程式 XD )。 而「正确 + 清楚 + 简洁的非英文资讯」会比「模糊的英文资讯」对它更有帮助。 它可以用机器翻译「正确 + 清楚 + 简洁的非英文资讯」,它可以找朋友翻译。 但如果是「模糊的英文资讯」,那它就只能去通灵掷笅了。 ## 错误讯息 > 文件 > 注解 撰写「正确 + 清楚 + 简洁的 (英文 / 非英文) 资讯」 也需要成本,我会依以下 顺序来投资: 1. 错误讯息 2. 文件 3. 程式码注解 我的想法是,「想用工具解决问题的人」会比「想了解工具构造的人」多。 或着说,在一个人对某工具的构造有兴趣前,它要先觉得这工具很好用。 是故,我会先投资在程式的「错误讯息、警告、参数资讯」上,先帮助使用者解决 它的问题。 这些资讯、讯息通常也较短,不管是写母语还是写英文,比较容易做到「正确 + 清楚 + 简洁」。 ## 文化、产业、地区特有术语 与其硬翻而失真(最後从母语、英文两边都看不懂),可以考虑音译、直译,并加 上注解。 --- # Unicode (PTT 对 Unicode 的支援不完整,请到 Google 简报原始档看这段: https://bit.ly/2DGDhXd ) ASCII 是 1960 年代的东西,就方法、类别命名来说,还是推荐 「美式英文 + ASCII 字集」;但就小块的程式码而言,若适当使用 Unicode, 或 许可以增进程式码的可读性。 ## Emoji 能这麽做,不代表该这麽做 XD ## 希腊字母 / subscript / superscript 数学、科学计算式常用到希腊字母、 subscript, superscript 。 相对於 * pi * deltaT * F_0 * F_n_1 这样的传统 ASCII 写法, Unicode 提供了另一种可能性。 --- # 写程式一定要用英文吗? 就长远来说,能多学、多练习、加强英文能力当然是好事。 但在英文能力还不到位时,为了满足眼前的需求,不管是台式英文、汉语拼音、日 文拼音、用中文写 commit 讯息、写文件、写注解,都是成本与效益的取舍。 希望这篇文有提供读者一些思考的方向,来检视每个人自己的取舍选择策略。 有任何程式设计、软体工程相关的英文问题,都很欢迎到《程式英文》 GitHub 讨 论区 https://bit.ly/321ResR 留言;这可以帮助我把这知识库整理得更完善。 谢谢 :) --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 136.56.13.184 (美国)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1594976222.A.175.html
1F:推 alihue: 推推 07/17 18:27
2F:推 tw11509: 推推 07/17 18:41
3F:推 bill0205: push 07/17 19:15
4F:推 CaptPlanet: U质 07/17 23:18
5F:推 lazyfirst: 推推 07/18 08:13
6F:推 jobintan: Nice, dude. 07/18 10:36
谢谢 :) 接下来我打算整理这个题目: * 「种类(type, kind, sort, class, category, classification)」该用哪个字? * https://github.com/EngTW/English-for-Programmers/issues/13 如果有任何感想、问题、建议,请让我知道 :) ※ 编辑: AmosYang (136.56.13.184 美国), 07/18/2020 13:04:30







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:iOS站内搜寻

TOP