明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索

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

  [复制链接]
发表于 2013-4-6 22:17:20 | 显示全部楼层
如果你用中文变量+英文版windows,你看看程序可以用吗?
 楼主| 发表于 2013-4-7 07:50:36 | 显示全部楼层
那就没试了。你试过吗?可不可以用?给个说法。
发贴互动太费时间,所以大家最好一次性说完整自己的观点。
有破有立方为完整。
 楼主| 发表于 2013-4-7 07:53:02 | 显示全部楼层
你们看,下面的自定义函数功能不是一目了然吗?如果用英文变量,你能一下看懂它是什么功能?

'自定义函数
Function 二维数组按第二参数排序(将要排序的数组, 第一参数的第几列如果是一维填1即可, 升序1降序非1)    '(将要排序的数组[将要排序的数组], 第一参数的第几列如果是一维填1即可[垂直数组(y,x)中x,像表格中的哪一列], 升序1降序非1[=1,升序;<>1,降序])
    '自定义函数中不能有“Application.Transpose”转置函数,否则CAD中不能使用
    Dim t, x&, y&, i&, j&, k&
    ad = 判断数组维数(将要排序的数组)
    '这个IF是,如果如果是一维就转为二维。如果是二维,则看“第一参数的第几列如果是一维填1即可”该列的序号是否和数组吻合。
    If ad = 2 Then
        '。如果是二维,则看“第一参数的第几列如果是一维填1即可”该列的序号是否和数组吻合。不吻合就退出自定义函数
        If Not (第一参数的第几列如果是一维填1即可 >= LBound(将要排序的数组, 2) And 第一参数的第几列如果是一维填1即可 <= UBound(将要排序的数组, 2)) Then Exit Function
     Else
        Exit Function
    End If
    y = LBound(将要排序的数组, 1)
    x = LBound(将要排序的数组, 2)
    If 升序1降序非1 = 1 Then    '升序
        For i = y To UBound(将要排序的数组) - 1
            For j = i + 1 To UBound(将要排序的数组)
                If 将要排序的数组(j, 第一参数的第几列如果是一维填1即可) < 将要排序的数组(i, 第一参数的第几列如果是一维填1即可) Then    '冒泡排序法
                    '这句话是将J行的数据N个与I行的数据N个互换
                    For k = x To UBound(将要排序的数组, 2)
                        t = 将要排序的数组(j, k): 将要排序的数组(j, k) = 将要排序的数组(i, k): 将要排序的数组(i, k) = t
                    Next
                End If
            Next
        Next
    Else    '降序
        For i = y To UBound(将要排序的数组) - 1
            For j = i + 1 To UBound(将要排序的数组)
                If 将要排序的数组(j, 第一参数的第几列如果是一维填1即可) > 将要排序的数组(i, 第一参数的第几列如果是一维填1即可) Then
                   '这句话是将J行的数据N个与I行的数据N个互换
                   For k = x To UBound(将要排序的数组, 2)
                        t = 将要排序的数组(j, k): 将要排序的数组(j, k) = 将要排序的数组(i, k): 将要排序的数组(i, k) = t
                    Next
                End If
            Next
        Next
    End If
   
   二维数组按第二参数排序 = 将要排序的数组
End Function

点评

看得真累  发表于 2013-4-7 09:38
掉坑里了  发表于 2013-4-7 08:37
发表于 2013-4-7 08:40:09 | 显示全部楼层
不完全同意楼主的看法
1.lsip编程大多数变量是局部变量,重名不重名完全在你自己
2.程序多了,如果经常用全局变量,有没有有效的规避重名的方式,不论你是中文还是英文都有可能重名
我的看法是,最好不用中文变量
发表于 2013-4-7 11:50:39 | 显示全部楼层
清风明月名字 发表于 2013-4-7 07:53
你们看,下面的自定义函数功能不是一目了然吗?如果用英文变量,你能一下看懂它是什么功能?

'自定义函数 ...

完全没有必要用中文变量!
1、中文变量名一般比较长,会多占用内存!而且中文变量在VLIDE里甚至可能会Bug!
2、一般稍大点的程序都要采用模块化编程,无需记住那么多变量!
3、为了增加程序的可读性,一般在程序适当的地方增加注释即可!
发表于 2013-4-7 12:09:25 | 显示全部楼层
lisp变量超过6个字符就需要申请存放符号名的存储空间,一个汉字就占两个字符
发表于 2013-4-9 22:54:22 | 显示全部楼层
感觉中文和E文混杂在一起,看起来很累的样子。
发表于 2013-4-15 16:11:28 | 显示全部楼层

查看LISP源程序之设想

本帖最后由 004 于 2013-4-15 16:18 编辑

要是阅读代码的软件,能跟随鼠标实时的显示,系统变量的说明和自定义变量的注释,应该能提高阅读代码的速度。
1.每个系统变量说明,根据自定义的熟悉程度显示简短说明,中长说明,全说明,熟练不显示说明。
2.每定义一个新变量和新函数都提示输入说明,供实时,任意位置智能查询,显示。

发表于 2013-7-23 17:37:20 | 显示全部楼层
最好一个中文变量都没有。

本来加个注释,一目了然,再复杂的程序读起来也是可以的。

加了中文变量后,看着极其别扭,分清注释和变量很费脑子!

写起来慢很多,读起来也慢很多。

lisp随时随处加注释的好处完全可以解决读程序费劲的问题。 多加注释吧,少年。
发表于 2013-7-24 17:17:40 | 显示全部楼层
谢谢楼主,我也开始汉化了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-24 13:17 , Processed in 0.140134 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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