【随笔】业余项目用中文命名的舒适

中文编程 专栏收录该内容
245 篇文章 0 订阅

早先答过《如何看待国内开源项目的不可持续性?》。最近做的木兰重现项目和参与的中文代码补全插件都基本使用了中文命名,一些个人体会如下。

基本是用碎片时间做开发维护,少则几分钟,多则一两小时。可以尽量充分利用碎片时间的一个重要因素就是项目使用母语命名。

中文代码补全插件主要参与了代码互评和部分测试、文档等等维护工作。如果用的是英文命名,双方会花更多时间精力才能充分领会,还要花更多时间保证可读性。

木兰项目基本仍是单人进行。Python 代码主要是参考木兰逆向代码并沿用设计,新加的主要是部分重构和测试相关代码。木兰实现的有一些简单的算法和中文数据处理,以及一个针对木兰代码的编辑器原型(高亮、格式化等等),主要是考验木兰编程语言的实用性,这部分基本是自己发挥。

对我来说最大的舒适之一,就是任何稍微有点动力改进的时候,坐下来几分钟就能接续上之前的思路并且找到下手处。再一个就是基本不再需要费劲思量合适的英文命名(项目内用得到的大多数编译器相关术语已经有了中文对应)。并不是任何空闲时间都有动力读写代码,不同的时间点的动力也有大小之分。任何一点增加读写代码开销的因素,都会抵消部分动力,而越是碎片化的时间,原本的动力就会更小(“就那么几分钟,刷个头条吧”)。拿起来的频度越小,再拿起来的动力就越小,这是个恶性循环。母语命名可以一定程度上消减这一“旋涡”。

命名本身在开发过程中是比较“末端”的任务(见《一站式 IDE 的构想:从头审视产品研发过程》),功能取舍、设计架构都能在更“高”层次决定项目走向,但母语命名绝不是“善小”而已。开发时实际上总是在反复读代码,这就是一个不断对代码逻辑进行重新梳理的过程。很多时候可以发现一些可重构的部分甚至可改进的设计。如果顶层设计可以一步到位,当然最好,但由于业余项目往往是不断地在原型基础上作改进,一个非常全面的顶层设计几乎只能在到一个里程碑、功能稳定时,再重新进行。更多时候,是不断地作小改进。能够更加流畅地阅读代码就成了关键因素。如果读自己代码时常要被“理解某个命名”打断思路,像是一直在和过去的自己较劲,再去考虑重构、设计就需要更大代价。

回过头说如何利用几分钟的碎片时间。即便没有动力写实现部分的代码,还是有很多“隐形”开发任务适合,代码互评、写测试用例、文档更新、回顾待做事项、回应问题报告、与合作者交流等等。这些任务仍然能从母语命名获得益处。

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
<p style="color:#666666;"> <span style="font-size:14px;">本门课程重实战,将基础知识拆解到项目里,让你在项目情境里学知识。</span> </p> <p style="color:#666666;"> <span style="font-size:14px;">这样学习方式能让你保持兴趣、充满动力,时刻知道学东西能在哪、能怎么。</span> </p> <p style="color:#666666;"> <span style="font-size:14px;">平时不明白知识点,放在项目里去理解就恍然大悟了。</span> </p> <p style="color:#666666;"> <span></span> </p> <p style="color:#666666;"> <span style="font-size:14px;"> </span> </p> <p style="color:#666666;"> <span style="color:#FF0000;font-size:14px;"><strong>一、融汇贯通</strong></span> </p> <p style="color:#666666;"> <span style="font-size:14px;">本视频采了前后端分离开发模式,前端使Vue.js+Element UI实现了Web页面呈现,后端使Python Django框架实现了数据访问接口,前端通过Axios访问后端接口获得数据。在学习完本章节后,真正理解前后端各自承担工作。</span> </p> <p style="color:#666666;"> <span style="font-size:14px;"> </span> </p> <p style="color:#666666;"> <span style="color:#FF0000;font-size:14px;"><strong>二、贴近实战</strong></span> </p> <p style="color:#666666;"> <span style="font-size:14px;">本系列课程为练手项目实战:学生管理系统v4.0开发,项目包含了如下几个内容:项目总体介绍、基本功能演示、Vuejs初始化、Element UI使、在Django中实现针对数据增删改查接口、在Vuejs中实现前端增删改查、实现文件上传、实现表格分页、实现导出数据到Excel、实现通过Excel导入数据、实现针对表格批量化操作等等,所有功能都通过演示完成、贴近了实战</span> </p> <p style="color:#666666;"> <span style="font-size:14px;"> </span> </p> <p style="color:#666666;"> <span style="color:#FF0000;font-size:14px;"><strong>三、课程亮点</strong></span> </p> <p style="color:#666666;"> <span style="font-size:14px;">在本案例中,最大亮点在于前后端做了分离,真正理解前后端各自承担工作。前端如何和后端交互</span> </p> <p style="color:#666666;"> <span style="font-size:14px;"> </span> </p> <p style="color:#666666;"> <span style="color:#FF0000;font-size:14px;"><strong>适合人群:</strong></span> </p> <p style="color:#666666;"> <span style="font-size:14px;">1、有Python语言基础、web前端基础,想要深入学习Python Web框架朋友;</span> </p> <p style="color:#666666;"> <span style="font-size:14px;">2、有Django基础,但是想学习企业级项目实战朋友;</span> </p> <p style="color:#666666;"> <span style="font-size:14px;">3、有MySQL数据库基础朋友</span> </p> <p style="color:#666666;"> <span style="font-size:14px;"> </span> </p> <p style="color:#666666;"> <span style="font-size:14px;"><img alt="" src="https://img-bss.csdnimg.cn/202009070752197496.png" /><br /> </span> </p> <p style="color:#666666;"> <span style="font-size:14px;"><br /> </span> </p>
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值