明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4790|回复: 36

[讨论] 建议大家将变量汉化

  [复制链接]
发表于 2013-3-31 09:48 | 显示全部楼层 |阅读模式
建议大家将变量汉化
造成我们阅读代码时效率低的原因不是函数,因为函数我们知道它的意义。原因是变量,众多变量,它的含义我们要记要查。
如果将变量汉化了,则阅读代码极轻松高效。
所以,为了方便自己及别人的阅读,最好是将变量汉化。
汉化 还有一个好处,变量不易重名。

;命令以指定内容替代所选的文本
(Defun c:以指定内容替代所选的文本 ( / 新字符串 选择的文本集 v2 单个图元名 原字符串 单个图元组码表 )
(setvar "cmdecho" 0);;系统变量CMDECHO决定了命令行回显是否产生通过command 函数执行的命令是否会在命令行中显示CAD
       (prompt "\n框选需改变内容的单行文本:");prompt函数此函数将显示msg 在绘图屏幕的命令提示区上LISP
       (setq 选择的文本集 (ssget));;框选图元
       (setq 新字符串 (getstring T "\n输入替代的内容: " ));;输入新字符串
       (setq 新字符串 (cons 1 新字符串));;将新字符串编为表对
       (setq v2 0)
          (if (/= 选择的文本集 nil)
              (while (< v2 (sslength 选择的文本集));;循环直到v1的总个数,(sslength 选择的文本集)为选择集的总个数
                     (setq 单个图元名 (ssname 选择的文本集 v2 ));;取得第选择集V1中的第V2个图元的名称。
                     (setq 原字符串 (assoc 1 (entget 单个图元名)));;(entget 单个图元名),根据名称获得组码。(assoc 1 组码),取得图元内容。
                     (setq 单个图元组码表 (entget 单个图元名));;(entget 单个图元名),根据名称获得组码
                     (entmod (subst 新字符串 原字符串 单个图元组码表));;用新内容替换老内容的表对
                     (entupd 单个图元名);将新组码赋给图元重生成
                     (setq v2 (+ v2 1 ));下一个循环。
               )
         )
)


 楼主| 发表于 2013-3-31 09:54 | 显示全部楼层
变量名长占内存这是事实。但我记得电脑老师说写代码的一个原则是,代码就要简洁易懂,宁让电脑增加负担(它不怕),也不要让人增加一点负担。
发表于 2013-3-31 09:54 来自手机 | 显示全部楼层
不觉得输入有困难吗?程序是拿来用的,不是用来看的!
发表于 2013-3-31 11:17 | 显示全部楼层
多麻烦
而且对大一点的程序更容易重名
发表于 2013-3-31 13:51 | 显示全部楼层
确实是个好的教材
 楼主| 发表于 2013-3-31 17:42 | 显示全部楼层
变量定好了,则不需再输入啊。何况,输中文,输英文,都是一样的速度
 楼主| 发表于 2013-3-31 17:43 | 显示全部楼层
对于编写程序的人来看,程序的可阅读性极重要

点评

增加程序的可读性,要利用注释功能!  发表于 2013-3-31 19:41
发表于 2013-3-31 18:34 | 显示全部楼层
小型程序本身就没有几个变量,大型程序变量多了,中文的那就是负担了。
发表于 2013-3-31 18:50 | 显示全部楼层
如果是用来教学,学习的话,可以用中文的

使用的话,建议用英文,还是普遍的好!
发表于 2013-3-31 20:39 | 显示全部楼层
感觉不是个好建议。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-5 14:04 , Processed in 0.212864 second(s), 34 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表