Skip to content


关于编程语言中的命名法

一、匈牙利命名法:广泛应用于象Microsoft Windows这样的环境中。

      Windows 编程中用到的变量(还包括宏)的命名规则匈牙利命名法,这种命名技术是由一位能干的 Microsoft 程序员查尔斯·西蒙尼(Charles Simonyi) 提出的。 

匈牙利命名法通过在变量名前面加上相应的小写字母的符号标识作为前缀,标识出变量的作用域,类型等。这些符号可以多个同时使用,顺序是先m_(成员变量),再指针,再简单数据类型,再其他。例如:m_lpszStr, 表示指向一个以0字符结尾的字符串的长指针成员变量。 

    匈牙利命名法关键是:标识符的名字以一个或者多个小写字母开头作为前缀;前缀之后的是首字母大写的一个单词或多个单词组合,该单词要指明变量的用途。

匈牙利命名法中常用的小写字母的前缀:

前 缀       类  型 
a               数组 (Array)  
b               布尔值 (Boolean)  
by             字节 (Byte)  
c              有符号字符 (Char)  
cb            无符号字符 (Char Byte,没有多少人用)  
cr             颜色参考值 (ColorRef)  
cx,cy         坐标差(长度 ShortInt)  
dw           Double Word  
fn              函数  
h                Handle(句柄)  
i                整型  
l              长整型 (Long Int)  
lp             Long Pointer  
m_          类的成员  
n            短整型 (Short Int)  
np          Near Pointer  
p            Pointer  
s           字符串型  
sz         以null做结尾的字符串型 (String with Zero End)  
w        Word  

二、骆驼命名法:

        骆驼式命令法,正如它的名称所表示的那样,是指混合使用大小写字母来构成变量和函数的名字。例如,下面是分别用骆驼式命名法和下划线法命名的同一个函数:

   printEmployeePaychecks();

    print_employee_paychecks();

     第一个函数名使用了骆驼式命名法——函数名中的每一个逻辑断点都有一个大写字母来标记;第二个函数名使用了下划线法—-函数名中的每一个逻辑断点都有一个下划线来标记。

    骆驼式命名法近年来越来越流行了,在许多新的函数库和Microsoft
Windows这样的环境中,它使用得当相多。另一方面,下划线法是c出现后开始流行起来的,在许多旧的程序和UNIX这样的环境中,它的使用非常普遍。

三、帕斯卡(pascal)命名法:

       与骆驼命名法类似。只不过骆驼命名法是首字母小写,而帕斯卡命名法是首字母大写

       如:public void
DisplayInfo();

              string UserName;

              二者都是采用了帕斯卡命名法.

在C#中,以帕斯卡命名法和骆驼命名法居多。

简单说

MyData 就是一個帕斯卡命名的示例 
而myData是一個骆驼命名法,它第一個單詞的第一個字母小寫,後面的單詞首字母大寫,看起來像一個骆驼 
而iMyData是一個匈牙利命名法,它的小寫的i說明了它的型態,後面的和帕斯卡命名相同,指示了該變量的用途. 

Posted in 技术, 文档理论.


代码高亮插件

将 WordPress “选项”—>“写作”—>“自动修正错误的内嵌式 XHTML 语法”禁用,并在选项和用户中把所见即所得编辑器关掉.

测试代码加亮:

来自http://www.coolcode.cn/?p=26&pp=3
使用的语法是:


代码


如果要加亮具体的语言,可以用 lang 属性来指定:



代码


如果不需要行号,可以使用 linenum 属性来指定:



代码


如果希望可以直接以文件下载代码,可以使用 download 属性来指定:

下载: example.txt


代码

这三个属性可以组合使用,互不影响。

目前支持的程序设计语言有:

actionscript
cpp
css
diff
dtd
html
java
javascript
mysql
perl
php
python
ruby
sql
xml

Posted in WordPress, 其它.


Hello world!

Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!

Posted in 未分类.


JavaScript 中的replace方法

1第一次发现JavaScript中replace() 方法如果直接用str.replace(“-“,”!”) 只会替换第一个匹配的字符.
2而str.replace(/-/g,”!”)则可以替换掉全部匹配的字符(g为全局标志)。

Posted in JavaScript/DOM/XML, 技术.


offsetHeight在ie和ff下的差异

当你的html没设DTD时,设置一个div并包含一张图片,ie的offsetHeight会多出4个象素。

解决方法是去掉img标签后的换行.让后紧跟

或者使用js来判断浏览器。

当你设一div width=50px border=1px,ie的offsetHeight和clientHeight分别是50px和48px,ff是52px和50px

Posted in HTML/XHTML/CSS, JavaScript/DOM/XML, 技术.


JavaScript 中对像的 “foreach” 语法


//变量声明,方法一:假如 Object 未被扩展

var array = new Object();

//变量声明,方法二:假如 Object 已被扩展

var array;

//赋值,以上两种方法均可

array[‘something’] = ‘yay’;
array[‘somethingelse’] = ‘more’;

//循环

for ( var keyVar in array ) {
alert(array[keyVar]);
}


注意 var keyVar ,不加var 为全局全量,可能引起冲突

Posted in JavaScript/DOM/XML, 技术.


scrollLeft,scrollWidth,clientWidth,offsetWidth到底指的哪到哪的距离

IE6.0、FF1.06+:
clientWidth = width + padding
clientHeight = height + padding
offsetWidth = width + padding + border
offsetHeight = height + padding + border
IE5.0/5.5:
clientWidth = width – border
clientHeight = height – border
offsetWidth = width
offsetHeight = height
(需要提一下:CSS中的margin属性,与clientWidth、offsetWidth、clientHeight、offsetHeight均无关)

scrollleft

Posted in HTML/XHTML/CSS, JavaScript/DOM/XML, 技术.


js删除dom结点时遇到的问题

当你使用for来循环node.length,并删除其中结点时会删不干净。

for(var i=0;i var field=lista.childNodes.item(i);
if (field.className == ‘area’)
{
alert(‘title’+field.title);
lista.removeChild(field);
}
}

因为当你删除一个结点时,结点的索引会-1,所以lista.childNodes.length也会相应-1。

测试代码:

cc

count|
add|
del

列出了NodeList 对象所提供的属性和方法:

NodeList 属性 描述 范例
length 包含在节点集合中的节点个数 NodeCount =Element.childNodes.length;
item(0-based-index)(default method) 依所传入的索引值,传回你所要的节点,而索引值零(0)表第一个节点代 SecondChild=Element.childNodes.item (1) ;or SecondChild=Element.childNodes (1);
reset () 设定内部指针,指向节点集合中第一个节点位置之前,所以当下个nextNode 被呼叫时,将传回第一个节点 Element.childNodes.reset ();
nextNode () 传回节点集合中的下一个节点,是籍由内部指针的标记来达到 Element.childNodes.reset ();FirstNode=Element.childNodes.nextNode ();

Posted in JavaScript/DOM/XML, 技术.


utf8 使用header出错

注意一下编辑器是否设了写签名到文件中。

Posted in Tools, 其它.


php header 404

当使用cgi模式时使用

header(“Status: 404 Not Found”);

mod_php使用

header(“HTTP/1.1 404 Not Found”);

其中Not Found无意义,仅供显示。

万全的方法

function header_status($status)
{

// ‘cgi’, ‘cgi-fcgi’
if (substr(php_sapi_name(), 0, 3) == ‘cgi’)
header(‘Status: ‘.$status, TRUE);
else
header($_SERVER[‘SERVER_PROTOCOL’].’ ‘.$status);
}
header_status(‘404 Not Found’);

Posted in PHP, 技术.