微信号:yunqiinsight

介绍:云栖社区是由阿里云负责运营、阿里巴巴技术协会和阿里巴巴集团各技术团队提供内容支持的开放式技术社区.

十年全栈编程,盲人工程师蔡勇斌带我们走进他的代码视听世界

2018-05-31 23:15 云栖社区

云栖君导读:作为一个拥有10年PC开发经验的盲人程序员,他不仅参与了钉钉无障碍版本的测试,还编写过很多帮助盲人使用电脑之类的软件。他带我们走进了属于他的代码视听世界,让更多盲人看见。


最近社区有个很火的《向代码致敬,寻找你的第83行》活动。缘起于一个月前,在阿里巴巴的一个小黑屋里,5名对代码有着极致追求的程序员参与了阿里代码领域最高荣誉“多隆奖”最终角逐(多隆作为淘宝的第一代程序员,也是很多技术人心中的大神)。那天代码评审现场,看到某代码片段最后结尾,多隆突然补上一句,往上翻看第83行。代码一般都是几百行,他看到最后,居然还记得第83行的一个细微瑕疵,这得是对代码怀着怎样的敬畏之心。


于是,在五四青年节社区发起了来晒晒属于你的“第83行”的活动,活动中邀请业界的大牛、大神们来晒代码或者Review代码!最终,由网友和大牛共同评选出了获得点赞和大牛评分最高的2位参与者,其中一位正是蔡勇斌,一个拥有10年PC开发经验的盲人程序员。我们一起来看看他是怎么写出极简代码的。


5月29日,多隆在第二届研发效能嘉年华(云效)直播间为其颁发了“多隆奖”。


@蔡勇斌 获奖的代码如下:


我是一个盲人工程师。在测试淘宝和天猫WEB端时,发现“我的淘宝”和“收藏夹”链接鼠标悬浮时会弹出内容,但盲人用户使用键盘无法实现该操作,因此根据相关的无障碍标准给对应产品提出了以下解决方案,让我们的代码更健壮、产品更完善,经得起“每一位用户”的考验。


不缩进、不多站位符,一行能写完绝不用两行,代码按相关性空行,这就是我们盲人工程师当中“最优雅”的代码。


常人眼里使用记事本编程被视为“装逼”,但盲人工程师却是最无障碍的代码编辑器。



对于蔡勇斌晒出的代码,本次活动的评委——阿里巴巴系统软件事业部高级研究员多隆评价称:“简洁,这可能是盲人工程师特点。”其获奖评语为,“作为一个拥有10年PC开发经验的盲人程序员,他不仅参与了钉钉无障碍版本的测试,还编写过很多帮助盲人使用电脑之类的软件。他带我们走进了属于他的代码视听世界,让更多盲人看见。”


能够获得此次的“多隆奖”,蔡勇斌表示十分感谢。



大家好,我叫蔡勇斌,我是一名视障者,同时也是一位信息无障碍工程师。我的主要工作是给阿里巴巴的淘宝、天猫、支付宝、钉钉等等主流产品做无障碍测试。我的业余工作是开发盲用程序,主要是给一些视障者做一些辅助工具。


我的开发经验已经有十几年了,包括Web端、移动端、PC端都有涉及,不管是前端还是后端都有做过代码相关的工作,算是一个全栈工程师。代码对于我来说其实和普通人差不多,就是一个和机器交流的语言。不管是Java也好,C也好,还是web端的JavaScript、Html等语言,我都有接触过。


对我们来说,写代码主要靠的是读屏软件,通过一种语音的方式,来去逐行逐字地去朗读代码。过去我们总是说,用记事本写程序是个很装逼的行为,但对于我们来说记事本就是一个很好的编程环境,因为它的无障碍效果最好,不管是快速查找、跳转、或者浏览,都是一个非常便捷的工具。当然,到后续要涉及更多的平台开发,比如说Visual Studio、Android Studio、Eclipse这些编程环境多多少少都会存在很多的无障碍,我们用起来并不是很方便。所以我们都会通过记事本的方法去写代码,通过这些环境来做编译,来实现最终的程序编译过程。


所以,我们编写程序时追求越简洁越好,不追求过多的排版。排版是相对于视觉而言,对于听觉而言,就是一个不是很重要的信息。比如说缩进,在我们看代码时如果逐字去朗读的话,你会发现很多的空白符,包括颜色的高亮对我们来说也是没有帮助的。


那么视障工程师写代码是不是就不需要排版呢?当然是否定的。现在,我们追求的都是协同工作,视障者写的代码别人要能很方便地去阅读,所以我们也会强迫自己去做一些力所能力的排版工作,让大家都能够很方便地阅读代码,一起去开发这些项目。


最后,感谢这次的第二届研发效能嘉年华,以及感谢阿里云的这次晒代码活动,也感谢评委老师多隆,让更多人知道无障碍代码的编写,让更多人关注到无障碍。


向代码致敬!


我们也精心挑选了参加活动的部分同学代码,点击左下角“阅读原文进入围观,欢迎大家点评学习!


end


一份关于数据科学家应该具备的技能清单

阿里云技术专家金九:Tengine HTTPS原理解析、实践与调试

深度剖析卷积神经网络

阿里HBase的数据管道设施实践与演进

更多精彩


 
云栖社区 更多文章 阿里七层流量入口 Tengine硬件加速探索之路 张雪峰:创业团队极速发展过程中的分分合合 阿里云技术专家金九:Tengine HTTPS原理解析、实践与调试 阿里HBase的数据管道设施实践与演进 深度剖析卷积神经网络
猜您喜欢 Mysql 分页优化 如何用一个月的时间准备google的技术面试 3306π技术大会北京站等你来! 技术不息,学习不止 一点点看店攻略