
中文编程
文章平均质量分 89
文章来自"中文编程"知乎专栏: https://zhuanlan.zhihu.com/codeInChinese
标注"原创"的为本人所写
中文编程
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java实现"命令式"简易文本编辑器原型
源自早先想法, 打算从界面方向做些尝试. 找到个简单文本编辑器的实现: Simple Text Editor - Java Tutorials. 原本的菜单/按钮界面如下. 包括基本功能: 新建/打开/保存文件, 文本编辑与剪切/复制/粘贴.把所有菜单/按钮替换为命令输入后效果如下, 源码库在: program-in-chinese/simple-text-editor-in-Java. 与...原创 2019-04-01 13:44:55 · 592 阅读 · 0 评论 -
演示Eclipse插件实现代码提示和补全
续上文重拾《 两周自制脚本语言 》- Eclipse插件实现语法高亮, 但仅达到了演示Eclipse本身功能的程度, 与石头语言并无直接联系. 源码库相同, 仍在同一插件. 演示效果如下:图片上传失败, 请看原文悬浮窗显示的是当前所在行内容. 而键入"新"字会弹出自动补全, 选项仅有"新建"一项. 再进一步的话, 两者都应该需要准确获取鼠标所在位置字段的语法信息, 即集成语法分析器的功能, 而...原创 2019-03-23 11:21:06 · 343 阅读 · 0 评论 -
重拾《 两周自制脚本语言 》- Eclipse插件实现语法高亮
源码库: program-in-chinese/stone-editor-eclipse参考:FAQ How do I write an editor for my own language?Deliver support for new languages in Eclipse IDE faster with Generic Editor and Language Servers - ...原创 2019-03-21 10:44:31 · 269 阅读 · 0 评论 -
重拾《 两周自制脚本语言 》- 中文关键字与原生函数
续前文重拾《 两周自制脚本语言 》- 支持中文标识符, 将当前的关键字改为中文. 基本是将语法分析器中的原本英文关键字改为中文. 如改while->每当 · program-in-chinese/stone@32c79b4: Parser statement = statement0.or( rule(IfStmnt.class).sep(IfStmnt.关键...原创 2019-03-19 05:12:34 · 705 阅读 · 0 评论 -
重拾《 两周自制脚本语言 》- 支持中文标识符
前文将《 两周自制脚本语言 》测试中使用的接口中文化. 在将此脚本语言改为中文关键字之前, 需要先让它支持中文标识符.首先添加一个词法分析器测试: @Test public void test读中文() throws 分析例外 { 词法分析器类 词法分析器 = 词法分析功用.新建词法分析器("中文变量1名 = 中文ok值"); 词类 词1 = 词法分析器.读(); ...原创 2019-03-17 07:25:32 · 242 阅读 · 0 评论 -
5分钟入门LingaScript-尝鲜中文版TypeScript
续前文转载: 中文輸進去,程式出得來,開發者發大財 -LingaScript:中文化TypeScript, 虽然其中例程使用了繁体中文语法, 但它同时也支持简体中文语法.注: 此文中VS Code的TypeScript环境设置为了中文, 因此错误信息也是中文. 方法见VS Code 有哪些必不可少的设置项? 这是VS Code提供的功能.按照前文5分钟入门CTS-尝鲜中文版TypeScript...原创 2019-03-16 13:30:07 · 244 阅读 · 0 评论 -
将《 两周自制脚本语言 》测试中使用的接口中文化
续前文为《 两周自制脚本语言 》添加中文测试代码. 之前在手工翻译Vue.js源码:尝试重命名标识符与文本时, 采用的顺序是从主程序入口开始. 这次从自己编写的测试代码开始, 一是较为熟悉代码, 二是测试驱动开发的思路.在过程中, 基本依托Eclipse的"重命名"功能, 尚未发现功能上的问题.在修改eval方法名时, 一开始只重命名了ASTreeEx中的, 后发觉需要将ASTree的所有子...原创 2019-03-16 13:23:02 · 237 阅读 · 0 评论 -
为《 两周自制脚本语言 》添加中文测试代码
源自自制编译器+自制脚本语言+自制编程语言 三书比较?两年多前只看了一本的前六章: 实践"两周自制脚本语言"一书【java吧】_百度贴吧当时是希望一路添加测试用例, 并且最终把语言改为中文语法. 但看到Gluonj之后,似乎必须要Loader.run来执行解释器, 得不到返回值, 只能打印解释结果.今天从此书官网(スクリプト言語の作り方)找到了它的附带源码库: chibash/stone,...原创 2019-03-15 07:21:49 · 396 阅读 · 0 评论 -
[转载] 中文輸進去,程式出得來,開發者發大財 - LingaScript: 中文化TypeScript
原文在原创者 (也是周蟒作者) 博客: 中文輸進去,程式出得來,開發者發大財前陣子過年,終於得以抽出的一些時間,可以來嘗試一些不同的東西。花了幾天查看 Typescript 程式碼,改寫了個可用繁/簡中文語法寫JS的轉譯器 LingaScript使用它做了個「中文輸進去,程式出得來,開發者發大財」的中文程式影片範例,歡迎大家開心試用。如何做到的這個專案脫胎自過去開發周蟒(Python ...转载 2019-03-15 02:48:36 · 194 阅读 · 0 评论 -
中文代码示例之NW.js桌面应用开发初体验
先看到了NW.js(应该是前身node-webkit的缩写? 觉得该起个更讲究的名字, 如果是NorthWest之意的话, logo(见下)里的指南针好像也没指着西北啊)和Electron的比较文章: Why I prefer NW.js over Electron? (2018 comparison)之后在看NW.js创始者(Wang WenRui)的推时不意发现微信小程序用了此框架. 也许...原创 2019-03-10 16:20:01 · 787 阅读 · 0 评论 -
中文代码示例之Electron桌面应用开发初体验
参考: 打造你的第一个 Electron 应用首先运行下面在目录下创建package.json:$ npm init去掉了一些无关项后内容如下:{ "name": "hello", "version": "1.0.0", "description": "问好", "main": "问好.js",原创 2019-03-10 16:07:13 · 529 阅读 · 0 评论 -
在PyPI测试平台发布Python包
参考Packaging Python Projects, 源码在nobodxbodon/test-package-for-pypi包名/__init__.py:测试变量 = "值"setup.py中import setuptoolswith open("README.md", "r") as 自述文件: 长描述 = 自述文件.read()setuptools.setup(...原创 2019-02-24 05:55:33 · 347 阅读 · 0 评论 -
扩展Python控制台实现中文反馈信息之二-正则替换
"中文编程"知乎专栏原文地址续前文扩展Python控制台实现中文反馈信息, 实现了如下效果:>>> 学Traceback (most recent call last): File "<console>", line 1, in <module>命名错误: 命名'学'未定义>>> [1] + 2T原创 2019-02-19 11:34:34 · 332 阅读 · 0 评论 -
扩展Python控制台实现中文反馈信息
参考了周蟒的实现, 运行效果如下:$ python3 解释器.pyPython 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 05:52:31)[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwinType "help", "copyright", "credits" or &原创 2019-02-19 11:20:17 · 276 阅读 · 0 评论 -
[转] 用python编写控制网络设备的自动化脚本3:启动
节选如下 更多原文在此启动介绍(前言)常见问题:想要登到设备上结果忘记了用户名密码怎么办?这对于经常接触大量网络设备的网络工程师而言是一个很常见的问题。一个企业网为了安全起见需要定期更换密码,加上人员变动,旧密码可能不知不觉遗失。尤其是那些放在仓库里的旧设备,一放就放很久,还存着旧配置,需要拿出来使用时已经不知道里面保存了什么密码,无法登陆,只能清除。这篇文章写了如何借助之前设计好的框架,...转载 2019-02-16 03:22:58 · 729 阅读 · 0 评论 -
1992年日本对母语编程的可读性比较实验
这是发现的最早一篇: CiNii 論文 - 母国語プログラミングへの方式,実践とその効果pdf不能导出文本, 不会日语输入法, 因此论文其他部分意义仅靠猜. 请会日语的指正.主要看如下几个图, 大概推测是使用了A, B两份同样语义的代码, 每份都有英日两个版本(不确定如何保证英日版本的可读性同样好?):A_日, A_英, B_日, B_英由不同的母语为日语的被试者阅读两份代码后(第一组...原创 2019-02-16 03:17:41 · 240 阅读 · 0 评论 -
程序员面试时用中文命名写白板代码的好处
时不时就看到"要是我面试时看到中文命名的话就xxx"的说法. 此文从不同角度简述在白板写代码这关用中文命名的好处. 欢迎补充.大前提是, 大家母语都是中文, 而且面试过程主要用中文交流. 这该是大多数国内面试的状态.从公司角度了解面试者语文水平, 尤其是表达水平. 从中文命名中可以看出遣词造句的功底. 如前文中英文代码对比系列之Java一例可以直接选取公司真实业务相关的独立问题, 不用顾...原创 2019-02-08 11:57:47 · 333 阅读 · 0 评论 -
Librian: 简明强大的Galgame引擎
原文(带视频)地址简介Librian是一个容易上手的gal引擎,Librian由python和html编写而成,并基于pyqt前端。Librian适用于快速高效的adv实现,能将你的idea迅速转换为结果,你只需提供素材文件和简单的剧本就能观赏adv演出!Librian支持在剧本中嵌入即时解释的python代码来实现任意的可扩展性。Librian是面向剧本的引擎,在设计时首要的考虑是:...转载 2019-02-07 14:50:24 · 3434 阅读 · 1 评论 -
用python编写控制网络设备的自动化脚本2:显示
节选如下, 更多原文在此显示命令介绍(前言)几乎所有的带网络管理的网络设备都拥有大量的显示命令。显示命令可以直接获取网络设备的详细信息,比如:配置、接口、等等。在思科中显示命令以“show”开头,华为/华三中以“display”开头,意思就是把什么什么东西“秀”出来。在网络故障排错中,敲得最多的就是显示命令,根据设备显示出来的东西,判断出故障在哪,然后排除故障。显示命令全部在用户模式下敲,因...转载 2019-02-04 07:20:33 · 1915 阅读 · 0 评论 -
VS Code创建自定义Python代码片段
续前文[日常]Beyond的歌里最多是"唏嘘"吗? - Python分词+词频最后的想法, 发现VS Code支持用户自定义代码片段: Creating your own snippets in Visual Studio Code尝试如下, 片段使用中文命名, 但前缀好像不能用中文(如果前缀设置为"文件", 在源码编辑时输入"文件"后没有自动补全弹窗), 应该与自动补全机制有关.片段定义:...原创 2019-02-01 01:40:23 · 2277 阅读 · 0 评论 -
[日常]Beyond的歌里最多是"唏嘘"吗? - Python分词+词频
看了一个Beyond的纪录片, 提到这个. 觉得心有不甘, 于是搜集了24首歌词, 用Python做了简单分词和词频统计.源码(包括歌词)在: program-in-chinese/study统计了总出现次数(词频列表)和词出现在歌曲的数目(词所在文件数列表). 前者算进了所有重复歌词, 后者是算某个词出现在了几首歌中.源码:import jiebaimport os所有词 = []...原创 2019-01-30 02:01:11 · 267 阅读 · 0 评论 -
JavaScript实现ZLOGO: 性能改进
主攻前文吴烜:JavaScript实现ZLOGO: 界面改进与速度可调的几个性能问题在线演示: 圈3源码仍在: program-in-chinese/quan3之前是在绘制过程中计算每帧需要绘制的线段, 在尝试改进的过程中很快发现问题太多且不易测试. 接着在某早晨"醒悟"到应该而且可以在绘制前计算好每一帧的步进路径表. 不仅可以避免绘制卡顿问题, 还便于测试(因为是纯JS实现, 不需夹杂D...原创 2019-01-24 16:03:21 · 218 阅读 · 0 评论 -
JavaScript实现ZLOGO: 界面改进与速度可调
续前文JavaScript实现ZLOGO: 前进方向和速度在线演示地址: http://codeinchinese.com/圈3/圈3.html源码仍在: program-in-chinese/quan3主要功能改进是在界面可以选择速度. 其他界面布局改进有:在ipad横屏下显示正常(1024x768)(前文问题1) 改正了有些浏览器"蚂蚁"对不准的问题(在火狐, Opera, Sa...原创 2019-01-21 13:08:44 · 238 阅读 · 0 评论 -
[日常]mov文件转换为gif
因为需要将之前mac下用QuickTime录屏生成的文件(mov格式)转换成gif文件, 便于传到某些博客平台, 于是找到了这个转换工具, 已将原代码的命名中文化并简化. Ruby和视频转换都是新手, 请多指教.之前JavaScript实现ZLOGO: 前进方向和速度有两个mov文件, 下面为转换出的gif:“轮胎”:田字格:下面是命名中文化后的源码. 注意: 需将mov文件置于med...原创 2019-01-16 14:39:32 · 3053 阅读 · 0 评论 -
VS Code英汉词典v0.0.8: 批量翻译文件部分命名 2018-12-25
续前文: VS Code英汉词典进化效果演示: 翻译文件所有命名vscode"英汉词典"插件地址: 官方链接现在实现的效果比之前的演示差很多, 因为executeDocumentSymbolProvider返回的标识符比想象中的少很多. 而且像main这样的常用术语还未进行合适的手工翻译.提取文件中标识符并翻译的相关部分代码: provideTextDocumentContent(uri...原创 2019-01-15 07:42:28 · 719 阅读 · 0 评论 -
在国内原创开源项目中使用中文命名的意义与方式
注: 个人支持踊跃参与国外开源项目. 此文面向读者仅为母语是中文的并有意原创开源项目的开发者.源自在代码中推广中文命名对中国开源软件的意义 - V2EX. 中文命名的技术优势在对在代码中使用中文命名的质疑与回应"没有好处"已明, 对于原创者本身来说, 使用中文命名可以让代码可读性更高, 维护成本更低. 此文更侧重开发者参与度和推广方面.类似功能的两个库, 一个提供中文API, 一个提供英文AP...原创 2019-01-15 07:38:35 · 3180 阅读 · 0 评论 -
VS Code英汉词典进化效果演示: 翻译文件所有命名
续VS Code英汉词典插件v0.0.7-尝试词性搭配, 下一个功能打算实现文件的批量命名翻译: 批量代码汉化工具 · Issue #86 · program-in-chinese/overview功能仍未完成. 下面仅为效果演示之用. 并未实际调用英汉词典数据:相关源码新建编辑器内容提供者:'use strict';import * as vscode from 'vscode';...原创 2019-01-15 07:36:39 · 2252 阅读 · 1 评论 -
JavaScript实现ZLOGO: 前进方向和速度
系列前文:JavaScript实现ZLOGO子集: 前进+转向JavaScript实现ZLOGO子集: 单层循环功能JavaScript实现ZLOGO子集: 测试用例JavaScript实现ZLOGO: 用语法树实现多层循环功能上, 添加了蚂蚁图标显示当前前进方向, 并可通过修改源码实现行进速度. 并未对语言本身进行改进. 另有一点界面改进. 源码仍在: program-in-chi...原创 2019-01-15 03:15:10 · 225 阅读 · 0 评论 -
Scala疑似中文命名问题后续 2018-12-10
上文疑似bug_中文代码示例之Programming in Scala笔记第九十章的问题, 正要在scala源码项目报告bug, 决定先在gitter的scala频道确认一下问题性质. 颇有收获, 小结如下.发问之后, 很快就有社区成员发现行字似乎是被认作了大写字符.前文的例子是:scala> for ((行1, 行2) <- Array(1,2) zip Array("a", ...原创 2019-01-15 02:56:38 · 207 阅读 · 0 评论 -
VS Code英汉词典插件v0.0.7-尝试词性搭配 2018-12-03
续上文VS Code英汉词典插件v0.0.6-改为TS实现, 加测试后, 继续重构(提取常量, 避免var, 添加类型等等), 并完善测试.测试方法参考: Testing Visual Studio Code Extensions, 调试也支持. 觉得虽然启动测试有一定开销(似乎必需启动一个vscode个例), 但还可以接受. 在重构过程中测试用例起了保驾作用.借助TypeScript特性,...原创 2019-01-14 08:28:39 · 381 阅读 · 0 评论 -
VS Code英汉词典插件v0.0.6-改为TS实现, 加测试
如前文VS Code英汉词典插件v0.0.4-驼峰下划线命名打算, 首先将JS源码改为TypeScript实现, 并添加了必要的测试.昨天得知vue.js 3.0会用TypeScript实现, 正好通过这个插件对TypeScript熟悉一下, 好为手工翻译Vue.js源码:尝试重命名标识符与文本转为对新版vue.js的源码翻译作准备.源码暂时仍在分支未合并(现已合并): program-in-...原创 2019-01-14 08:11:28 · 281 阅读 · 0 评论 -
[合辑]最精致的python访客登记系统实例项目,微信机器人不再只当人工智障
原作者为知乎号浩海泛舟中文编程,最精致的python访客登记系统实例项目,微信机器人不再只当人工智障------01中文编程,最精致的python访客登记系统实例项目,微信机器人不再只当人工智障------02中文编程,最精致的python访客登记系统实例项目,微信机器人不再只当人工智障------03中文编程,最精致的python访客登记系统实例项目,微信机器人不再只当人工智障-----...转载 2019-01-14 07:56:41 · 598 阅读 · 0 评论 -
中文代码示例之Programming in Scala笔记第七八章
续前文:中文代码示例之Programming in Scala学习笔记第二三章中文代码示例之Programming in Scala笔记第四五六章.同样仅节选有意思的例程部分作演示之用. 源文档仍在: program-in-chinese/Programming_in_Scala_study_notes_zh第七章 内置控制结构7.8中改为函数式风格的乘法表:def 创建行序列(...原创 2019-01-14 01:17:13 · 220 阅读 · 0 评论 -
手工翻译Vue.js源码:尝试重命名标识符与文本
续前文: 手工翻译Vue.js源码第一步:14个文件重命名对core/instance/索引中的变量, 方法进行重命名如下(题图):import { 混入初始化 } from './初始化'import { 混入状态 } from './状态'import { 混入渲染 } from './渲染'import { 混入事件 } from './事件'import { 混入生命周期 }...原创 2019-01-14 01:10:27 · 271 阅读 · 0 评论 -
手工翻译Vue.js源码第一步:14个文件重命名
背景对现有开源项目的代码进行翻译(文件名/命名/注释) · Issue #107 · program-in-chinese/overview简单地说, 通过翻译源码, 提高项目代码可读性(对于母语为中文的开发者). 并在此过程中小结源码翻译辅助工具的需求.源码库分支: program-in-chinese/vue源码分析参考文档: Vue.js 技术揭秘 | Vue.js 技术揭秘14...原创 2019-01-14 01:07:35 · 283 阅读 · 0 评论 -
中文代码示例之Programming in Scala笔记第四五六章
续前文: 中文代码示例之Programming in Scala学习笔记第二三章. 同样仅节选有意思的例程部分作演示之用. 源文档仍在: program-in-chinese/Programming_in_Scala_study_notes_zh第六章 功能对象此章的例子与之前的初步尝试将传统学科的内容程序/数据化有些共鸣, 以后的数学知识部分可以参考此实现.class 有理数(分子: In...原创 2019-01-14 01:06:12 · 235 阅读 · 0 评论 -
中文代码示例之Programming in Scala学习笔记第二三章 2018-11-13
由于拷贝后文档格式有变, 仅摘几段如下. 完整而且代码带语法高亮的源版在: program-in-chinese/Programming_in_Scala_study_notes_zh前言: 本书已有中文版, 此笔记并不是对原教程的翻译, 而是围绕示例进行选摘, 并顺便将所有示例改成中文命名(不拘泥于原本命名用词, 而是融入中文特色).本文代码在Scala 2.12.4, Java 1.8....原创 2019-01-14 01:05:20 · 257 阅读 · 0 评论 -
专栏全年主题合辑-代码中文命名相关实践 2018-11-10
注: 本文仅对个人亲自参与的尝试作一小结, 专栏中其他作者的尝试还望各自总结. 文中所有例子都尽量使用了中文命名一些对中文命名的早期实践:2015年对JDK中接口的中文化尝试2016年的Spring Boot 1.3.3演示尝试了前后端中文命名2017年开始Java实现的汇编语言编译器将之前的插件项目中的代码中文化: 火狐插件实现浏览历史按主题显示(树)在2017年发现多数流行编程...原创 2019-01-14 01:00:53 · 270 阅读 · 0 评论 -
专栏全年主题合辑-中文编程语言开发尝试 2018-11-10
注: 本文仅对个人尝试作一小结, 专栏中其他作者的尝试还望各自总结对自研中文编程语言的尝试也许始于2015年对CoffeeScript的部分关键词汉化和Java实现的汇编语言编译器的开发. 2017年10月那场请求C#提供汉化版的讨论也给了更多的动力. 之后对开源非英文关键词编程语言进行了一些调研, 尤其对日语编程语言"抚子"进行了较深入的学习:日语编程语言"抚子" - 第三版特色初探日语...原创 2019-01-14 00:58:16 · 236 阅读 · 0 评论 -
VS Code英汉词典插件v0.0.4-驼峰下划线命名 2018-11-09
首先, 在两天时间内安装数破百, 多谢支持.VS Code插件市场地址: 英汉词典 - Visual Studio Marketplace开源库地址同前文: Visual Studio Code插件-英汉词典初版发布查询单词功能基本不变, 在详细信息的开头添加了原词:如题图, 支持驼峰命名查询. 在详细信息中, 包含所有单词的详细释义, 但为避免内容过多, 没有词形信息. 另外还支持下...原创 2019-01-13 15:04:06 · 1215 阅读 · 0 评论