<ul>
{loop $data $n $r}
{if $n%5==0}<div class="li_jg"></div>{/if}
<li>
<span class="data">{date('Y-m-d', $r[inputtime])}</span>
<a href="{$r[url]}" target="{$target}">{str_cut($r[title], $titlelen)}</a>
</li>
{/loop}
</ul>
<div class="clearbox"></div>
{if $pages}<p id="pages">{$pages}</p>{/if}
============================
2008版本的序号是$n
判断可以这样写
例:
每隔4行显示一条空间/虚线
<li>***</li>
{if $n==4 || $n==8 || $n==12 || ...}<li class="hr"></li>{/if}

只是一个思路,供楼主参考

给该贴打分

29
nov
2007

Videos_de_risa_2

22:21 fergalo

 

Videos de risa, caidas, golpes, etc etc.... How are you!you can click my only two or free ads everyday.I have clicked yours. 每天只能点一个人的两个广告,多点无效,等广告完全打开才行啊,谢谢支持! 今天来点了两个啊,欢迎回点。最新浏览里找我!Hi my friend, I come to see you,Remember to visit me.i have clicked your two or free ads,please click mine,thanks!

给该贴打分

29
nov
2007

DIV+CSS总结+体验

10:20 dolanlik

让你使用DIV+CSS排版 不是让你用换个标签然后再去按照表格的方式去排版
而是做到内容与表现的分离
1: ID用于标识页面单独元素以及持久行的结构性元素 方便JS的调用
类用于标识同一页面可重复定义使用的结构性元素 ID与类的命名需与表现形式无关 :leftContent 而使用有意义的定义方式:sideBar等等。命名方式遵循“驼峰式大小写(标志符由多个单词组成 除首词首字母小写外 其余单词首字母均大写)”
2:避免滥用类 当类型的结构需要不一样的表现时 记得什么是层叠样式表 具体结构中的p a h1等可使用如下方式:div.sideBar p{}定义即后代选择器+ID或类选择器组合方式。
3:DIV与SPAN IV(块级框)用于对块级元素的分组 SPAN(行内框)用于对行内元素分组标识
4:对于页面基本默认的方式可以选择通用选择器(*标识)进行定义 * { padding:0; margin:0;}
5: body 也是可以添加ID和类的 这样就可以为其添加特别样式。
6:样式表中导入样式表需在顶端 覆盖规则为本身样式覆盖导入样式
7:CSS样式表细分化 颜色 布局 风格 表单 均可分离 这样对以后的修改和风格设计更方便
8:盒模型:内→外
content←width height(补充:height只有在父元素定义了绝对高度时其%才有意义)
border
padding(内补丁)-“填充”
background-image
background-color
margin(外补丁)-“空白边”透明 可为负值
记住:在css中 width是指内容区域的宽度
IE/WIN与盒模型:
IE5.5/IE6怪异模式下: 元素框总宽度=content.width+margin.width
FireFox/Opera/..   :  元素框总宽度=content.width+padding.width+border.width+margin.width
差异在于:IE5.5/IE6怪异模式下 width=有效content.width+padding.width+border.width 内补丁和边框被算在内容宽度里面
#select{width:750px;padding:10px;border:5px} IE怪异模式:总宽度:750px FF/OP:780px
                                              IE怪异模式:有效内容宽度:750-20-10 FF/OP:750
IE6正常模式下:同于FF/OP
处理方法:在父元素或子元素中使用padding 本身不使用
空白边叠加:当两个空白边叠加时 顶或底边将会叠加 实际空白边高度=空白边大的值
例:<div id="top" style="margin:0 0 10px 0;"></div><div id="bottom" style="margin:20px 0 0 0;"></div>
     空白边高度为20px
但是如果这个时候你添加边框或则填充,将不再叠加

//定位机制//
9:相对定位(relative):相对于其默认初始位置 绝对定位:相对父级元素或画布、HTML元素 与文档流无关 可覆盖其他元素 使用Z-INDEX 控制其层次。IE5.5/IE6下 对right bottom时 需设定框的宽高 后则根据画布右底定位
   绝对定位(absolute)
10:float浮动:记住:“在标准浏览器中 浮动元素脱离了文档流 不占据外围容器空间” 明白了这点 你就会明白为什么IE和FIREFOX下表现的不同了。IE5.5、IE6浮动元素依然占据外围容器空间
  例如:怎么在IE下feeter正常 在firefox下就跑上去了呢?^_^ 清除浮动吧
IE下 当float和text-align定义的方向一样时 出现双倍错误:select{float:left;text-align:left;margin:0 10px;}
实际左边margin-left:20px;FF/OP:10px 解决:加上display:inline;

11:彻底理解 “清除浮动”clear
clear:none、left、right、both、
表示当前框元素哪些边不应该挨着浮动框
理解了10中float在不同浏览器下的表现 你也就知道如何去使用清楚了。
12:背景图像的定位:只谈百分比 background:url(image-url.gif)no-repeat 20% 30%
20%:将图像X轴20%处与父元素X轴20%处重合 Y同理 top=0% bottom=100% left=0% right=100% center=50%
13:滑动门/
左右两个DIV 背景分别定义 一般左背景图像比较长; 左背景定位:left center 右背景定位:right center
外部控制容器宽度一般小于等于两个背景和 这样当内容动态变化时候 右背景图像便感觉像在左背景图像上滑动,故名。
这样也可以实现:<div id="nav"><ul><li><a href="index.html"><span>首页</span></a></li></ul></div>
css:
#nav a{float:left;background:url("../images/navLeft.gif") no-repeat left top;padding:0;text-decoration:none; cursor:hand;}
#nav a span {float:left;display:block;background:url("../images/navRight.gif") no-repeat right top;padding:5px 36px 5px 40px;color:#ffffff}
原理相似,注意背景图像定位。
14:完美的居中布局:body{text-align:center;mini-width:760px;}
                  div#wrapper{margin:0 auto;text-align:left;width:750px;}
mini-width IE并不认识 这是为老浏览器准备的,只是这个值比你需要的实际页面大就OK

15:小图标有时会给页面增色不少 用前记得规划好 整到一张大图片上 这样可以减少服务器请求次数。

16:待续。。。
和经典的兄弟们比 我真的是个菜鸟 但是我也发现很多兄弟们在学习的过程中会走弯路 所以把自己前期总结的东西贴上 希望对部分兄弟有帮助

给该贴打分



 

 


根据时段自动切换你的站点CSS风格
2007-09-20 14:16
网站能切换几套CSS风格早已不是什么新鲜事了。大家也都知道怎么去弄。早上发现一个有意思得站点 http://www.leemunroe.com/
同样是切换风格。不过他做了点小小的调整。站点会根据当时的时间自动调整站点风格。作者为站点制作了早上、下午、夜晚三套皮肤,主要是分别制作了背景。12点以前系统会使用早上的皮肤,过了12点,站点会自动替换成下午的风格,5点后则替换成夜晚的风格。

主要的功能实现是靠在头部的这段判断代码,很容易理解。有兴趣可以自己试试。
<link rel="stylesheet" type="text/css"
href="<?php $hour = date("H"); if ($hour < 12) echo "morning.css"; elseif ($hour < 17) echo "day.css"; else echo "night.css"; ?>
" />

ASP版代码如下:
<link rel="stylesheet" type="text/css" href="<%
if hour(now)<12 then
   response.write "a.css"
else
   if hour(now)<17 then
     response.write "b.css"
   else
     response.write "c.css"
   end if
end if
%> " />

到这里去感受一下效果:http://www.leemunroe.com/

 

 

给该贴打分

在和尚那里看到他给z-blog加上了运行代码功能external link,放了几天假,有些怕怕再这样闲下去会生锈的,在补了一个半小时的觉之后,也给blog加上运行功能,因为是从L-Blog修改而来,因此同样适用于L-Blog,另外,FBSexternal link也是L-Blog修改而来,应该也可以使用本文中的方法来添加运行代码功能。另外,由于复制代码和保存代码还没有找到兼容各浏览器的解决方法,就没有加进来了。

示例:

[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

步骤如下:

1. 在 include/common.js 中添加如下代码:

  1. function runCode(codeobjid)  {
  2.     var codeobj=document.getElementById(codeobjid)
  3.     var codestr=codeobj.value;
  4.     if (codestr!="") {
  5.         var codewin=window.open('','','');  
  6.         codewin.document.open('text/html','replace');
  7.         codewin.opener = null 
  8.         codewin.document.write(codestr);  
  9.         codewin.document.close();
  10.     }
  11. }

2. 在 include/ubbcode.asp 中找到 strContent=re.Replace(strContent,"【code】")(把【】换成[]),在此之后添加如下代码:

L-Blog:

  1. re.Pattern="[html](<br>)+"
  2. strContent=re.Replace(strContent,"【html】")

FBS:

  1. re.Pattern="[html](<br />)+"
  2. strContent=re.Replace(strContent,"【html】")

再找到 re.Pattern="[code](.*?)[/code]",然后在段代码的 Set strMatches=Nothing 之后添加如下代码:

  1. re.Pattern="[html](.*?)[/html]"
  2. Set strMatches=re.Execute(strContent)
  3. For Each strMatch In strMatches
  4.     RNDStr=Int(7999 * Rnd + 2000)
  5.     tmpStr1=strMatch.SubMatches(0)
  6.     strContent= Replace(strContent,strMatch.Value,"<textarea rows=""10"" "_
  7. &"style=""width:90%;"" class=""input_border"" id=""HTML_"&RNDStr&""">"_
  8. &tmpStr1&"</textarea><br />"_
  9. &"<input type=""button"" onclick=""runCode('HTML_"&RNDStr&"');"" value=""运行代码"" />"_
  10. &" [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]")
  11. Next
  12. Set strMatches=Nothing

3. 修改完成,在发表日志时就可以使用【html】要运行的代码【/html】(将【】替换成[])来使用运行代码功能。

给该贴打分

核心提示:“华南虎”事件至今尘埃未定,如此风口浪尖小编看到高大英俊的神雕也是不敢相信,特打电话向《河南商报》摄影记者核实此事。经证实,该神雕是真鸟,非雕塑。

 

 

给该贴打分

22
nov
2007

3D桌面

16:22 dolanlik


 

给该贴打分

1.css字体简写规则 it55.com

  当使用css定义字体时你可能会这样做: 免费资源www.it55.com

font-size:1em;
line-height:1.5em;
font-weight:bold;
font-style:italic;
font-variant:small-caps;
font-family:verdana,serif;

vd;k;l www.it55.com rdfg

 

  事实上你可以简写这些属性: www.it55.com在线教程

font: 1em/1.5em bold italic small-caps verdana,serif

vd;k;l www.it55.com rdfg

 

  现在好多了吧,不过有一点要注意:使用这一简写方式你至少要指定font-size和font-family属性,其他的属性(如font-weight, font-style,font-varient)如未指定将自动使用默认值。

http://www.it55.com/

 

  2.同时使用两个class

sflj www.it55.com kg^&fgd

 

  通常我们只为属性指定一个class,但这并不等于你只能指定一个,实际上,你想指定多少就可以指定多少,例如:

IT资讯之家 www.it55.com

 

<p class="text side">...</p>

www.it55.com

 

  通过同时使用两个class(使用空格而不是逗号分割),这个段落将同时应用两个class中制定的规则。如果两者中有任何规则重叠,那么后一个将获得实际的优先应用。

IT资讯之家 www.it55.com

 

  3.css中边框(border)的默认值 免费资源www.it55.com

  当编写一条边框的规则时,你通常会指定颜色、宽度以及样式(任何顺序均可)。例如:border: 3px solid #000(3像素宽的黑色实线边框),其实这个例子中唯一需要指定的值只是样式。假如你指定样式为实线(solid),那么其余的值将使用默认值:默认的宽度为中等(相当于3到4像素);默认的颜色为边框里的文字颜色。如果这正是你想要的效果,你完全可以不在css里指定。 http://www.it55.com/

  4.!important会被IE忽略 45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn

  在css中,通常最后指定的规则会获得优先权。然而对除了IE以外的浏览器来说,任何后面标有!important的语句将获得绝对的优先权,例如: 免费资源www.it55.com

margin-top:3.5em !important;margin-top:2em 45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn

  除IE以外所有浏览器中的顶部边界都是3.5em,而IE为2em,有时候这一点很有用,尤其在使用相对边界值时(就像这个例子),可以显示出IE与其他浏览器的细微差别。 www.it55.com在线教程

  (很多人可能还注意到了css的子选择器也是会被IE忽略的)

免费资源www.it55.com

 

  5.图片替换的技巧

vd;k;l www.it55.com rdfg

 

  使用标准的html而不是图片来显示文字通常更为明智,除了加快下载还可以获得更好的可用性。但是如果你决心使用访问者的机器中可能没有的字体时,你只能选择图片。 www.it55.com在线教程

  举例来说,你想在每一页的顶部使用“Buy widgets”的标题,但你同时又希望这是能被搜索引擎发现的,为了美观你使用了少见的字体那么你就得用图片来显示了:

www.it55.com在线教程

 

<h1><img src="http://edu.iecool.com/show/widget-image.gif" alt="Buy widgets"/></h1>

http://www.it55.com/

 

  这样当然没错,但是有证据显示搜索引擎对真实文本的重视远超过alt文本(因为已经有太多网站使用alt文本充当关键字),因此,我们得用另一种方法:<h1><span>Buy widgets</span></h1> ,那你的漂亮字体怎么办呢?下面的css可以帮上忙: IT资讯之家 www.it55.com

h1
{
background: url(widget-image.gif) no-repeat;
}

h1 span
{
position:absolute;
left:-2000px;
}

vd;k;l www.it55.com rdfg

 

  现在你既用上了漂亮的图片又很好的隐藏了真实文本——借助css,文本被定位于屏幕左侧-2000像素处。 免费资源www.it55.com

  6.css盒模型hack的另一选择

IT资讯之家 www.it55.com

 

  css盒模型hack被用来解决IE6之前的浏览器显示问题,IE6.0之前的版本会把某元素的边框值和填充值包含在宽度之内(而不是加在宽度值上)。例如,你可能会使用以下css来指定某个容器的尺寸: sflj www.it55.com kg^&fgd

#box
{
width:100px;
border:5px;
padding:20px;
}

IT资讯之家 www.it55.com

 

  然后在html中应用:<div id="box">...</div> www.it55.com在线教程

  盒的总宽度在几乎所有浏览器中为150像素(100像素宽度+两条5像素的边框+两个20像素的填充),唯独在IE6之前版本的浏览器中仍然为100像素(边框值和填充值包含在宽度值中),盒模型的hack正是为了解决这一问题,但是也会带来麻烦。更简单的办法如下: vd;k;l www.it55.com rdfg

  css: http://www.it55.com/

#box
{
width:150px;
}

#box div{
border:5px;
padding:20px;
} 免费资源www.it55.com

  html: IT资讯之家 www.it55.com

<div id="box"><div>...</div></div>

sflj www.it55.com kg^&fgd

 

  这样一来在任何浏览器中盒的总宽度都将是150像素。 45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn

  7.将块元素居中 45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn

  假设你的网站使用了固定宽度的布局,所有的内容置于屏幕中央,可以使用以下的css:

45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn

 

#content
{
width:700px;
margin:0 auto;
}

45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn

 

  你可以把html的body之内任何项目置于<div id="content"></div>中,该项目将自动获得相等的左右边界值从而保证了居中显示。不过,这在IE6之前版本的浏览器中仍然有问题,将不会居中,因此必须修改如下:

45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn

 

body
{
text-align:center;
}

#content
{
text-align:left;
width:700px;
margin: 0 auto;
}

http://www.it55.com/

 

  对body的设定将导致主体内容居中,但是连所有的文字也居中了,这恐怕不是你想要的效果,为此#content的div还要指定一个值:text-align:left 免费资源www.it55.com

  8.使用css实现垂直居中

IT资讯之家 www.it55.com

 

  垂直居中对表格来说是小菜一碟,只需指定单元格为vertical-align:middle即可,但这在css布局中不管用。假设你将一个导航菜单的高度设为2em,然后在css中指ù怪倍云氲墓嬖颍淖只故腔岜慌诺胶械亩ゲ浚久挥惺裁辞稹?

it55.com

 

  要解决这一问题,只需将盒的行高设为与盒的高度相同即可,以这个例子来说,盒高2em,那么只需在css中再加入一条:line-height: 2em 就可实现垂直居中了! 45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn

  9. 容器内的css定位 sflj www.it55.com kg^&fgd

  css的最大优点之一就是可以将对象定位在文档的任何位置,同样的也可以将对象在某容器内进行定位。只需要为该容器添加一条css规则: vd;k;l www.it55.com rdfg

#container
{
position:relative;
} 45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn

  则容器内的任何元素的定位都是相对于该容器的。假定你使用以下html结构:

www.it55.com

 

<div id="container"><div id="navigation">...</div></div>

如果想将navigation定位在容器内离左边界30像素,离顶部5像素,可以使用以下css语句:

it55.com

 

#navigation
{
position:absolute;
left:30px;
top:5px;
} http://www.it55.com/

  10.延伸至屏幕底部的背景色

vd;k;l www.it55.com rdfg

 

  css的缺点之一是缺乏垂直方向的控制,从而导致了一个表格布局不会遇到的问题。假设你在页面的左侧设定了一列用于放置网站的导航。页面为白色背景,但你希望导航所在的列为蓝色背景,使用以下css即可: http://www.it55.com/

#navigation
{
background:blue;
width:150px;
}

45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn

 

  问题在于导航项不会一直延伸到页面的底部,自然它的背景色也不会延伸到底部。于是左列的蓝色背景在页面上被半路截断,浪费了你的一番设计。怎么办呢?很不幸我们现在只能用欺骗的办法,即将body的背景指定为与左列同颜色同宽度的图片,css如下: www.it55.com在线教程

body
{
background:url(blue-image.gif) 0 0 repeat-y;
} http://www.it55.com/

  背景图应为宽150像素的蓝色图片。这一办法的缺点是没法使用em来指定左列的宽度,当用户改变文字的大小导致内容的宽度扩张时,背景色的宽度不会随之改变。 vd;k;l www.it55.com rdfg

  到写这篇文章为止这是对这类问题的唯一解决办法,因此你只能为左列使用像素值来获得能够自动延伸的不同的背景色

给该贴打分

用px作为文字大小的单位,虽然已经是绝大多数web设计者的习惯了,但同时也出现了不少的问题。这主要体现在用户不能灵活的控制文字的大小。对于年龄稍大或眼力不佳的用户来说,尤为明显。我们应该有所改进,不要求通过px为单位获得100%的精确性,我们需要获得更大的浏览器的可伸缩性与易用性,满足访客的需要。我们今天对font-size属性的值进行一些分析,看从中我们能得到一些什么启示。

一、长度单位

  长度单位分为两种,一种是相对长度,另一种是绝对长度。
  以下为三种相对长度单位:
  ◆ em 相对于父对象的大小
  ◆ ex 相对于特定字体中的字母x的高度
  ◆ px 相对于特定设备的分辨率,这是最最常用的单位,也是我们一直坚守的单位。从技术角度来说,px像素其实是一种相对大小的度量单位,它于特定设备的显示或打印的分辨率有关。例如,一个像素在被显示在计算机屏幕上与被打印在纸张上的大小是不同的。

  以下为五种绝对长度单位:
  绝对长度单位在打印时或在屏幕显示设备的物理尺寸已知时才比较有用。
  ◆ in 英寸
  ◆ cm 厘米
  ◆ mm 毫米
  ◆ pt 点
  ◆ pc 12点活字

二、相对大小的关键字

  相对大小的关键字只有两个值:
  ◆ larger
  ◆ smaller
  这两个值的设定与父对象的设定值有关。我们可以像理解老式的<small><big>那样来理解它们。它们是设定文字大小的最基本的方式,并会受到上层对象的文字大小定义的影响。

三、绝对大小的关键字

  这类关键字共有7个,他们的实际大小根据不同的浏览器及设备来决定。

  ◆ xx-small
  ◆ x-small
  ◆ small
  ◆ medium
  ◆ large
  ◆ x-large
  ◆ xx-large

  W3C建立建议浏览器开发公司,将每个关键字之间的比例设定为1.5。并推荐让这个比例保持恒定,妈medium是small的1.5倍。同样large是medium的1.5倍。

四、百分比

  使用百分比设置大小,将在容器对象文字大小的基础上进行改变。如果我们设置body的文字大小为10。我们设置p的文字大小为150%,则p的文字大小就为15。不管10是什么样的单位,百分比作为一种比例进行缩放调整。

  我们可以从更深层次去思考,我们将在52css.com以后的文章中进行发布,面对这些定义文字大小属性值的单位,我们如何为用户提供一个灵活的浏览环境,并允许他们按他们的意愿来控制文字的大小以更方便于浏览。

给该贴打分

一、排版:
  1.关键词和操作符之间加适当的空格。
  2.相对独立的程序块与块之间加空行
  3.较长的语句、表达式等要分成多行书写。
  4.划分出的新行要进行适应的缩进,使排版整齐,语句可读。
  5.长表达式要在低优先级操作符处划分新行,操作符放在新行之首。
  6.循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分。
  7.若函数或过程中的参数较长,则要进行适当的划分。
  8.不允许把多个短语句写在一行中,即一行只写一条语句。
  9.函数或过程的开始、结构的定义及循环、判断等语句中的代码都要采用缩进风格。
  10.C/C++语言是用大括号‘{’和‘}’界定一段程序块的,编写程序块时‘{’和
   ‘}’应各独占一行并且位于同一列,同时与引用它们的语句左对齐。在函数体
    的开始、类的定义、结构的定义、枚举的定义以及if、for、do、while、
    switch、case语句中的程序都要采用如上的缩进方式。

二、注释
  1.注释要简单明了。
  2.边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。
  3.在必要的地方注释,注释量要适中。注释的内容要清楚、明了,含义准确,防止
   注释二义性。保持注释与其描述的代码相邻,即注释的就近原则。
  4.对代码的注释应放在其上方相邻位置,不可放在下面。
  5.对数据结构的注释应放在其上方相邻位置,不可放在下面;对结构中的每个域
   的注释应放在此域的右方;同一结构中不同域的注释要对齐。
  6.变量、常量的注释应放在其上方相邻位置或右方。
  7.全局变量要有较详细的注释,包括对其功能、取值范围、哪些函数或过程存取它
   以及存取时注意事项等的说明。
  8.在每个源文件的头部要有必要的注释信息,包括:文件名;版本号;作者;生成
   日期;模块功能描述(如功能、主要算法、内部鞑糠种涞墓叵怠⒏梦募肫?br />   它文件关系等);主要函数或过程清单及本文件历史修改记录等。
  9.在每个函数或过程的前面要有必要的注释信息,包括:函数或过程名称;功能描
   述;输入、输出及返回值说明;调用关系及被调用关系说明等。

三、命名
  1.较短的单词可通过去掉“元音”形成缩写;
  2.较长的单词可取单词的头几发符的优先级,并用括号明确表达式的操作顺序,避
   免使用默认优先级。
  3.使用匈牙利表示法

四、可读性
  1.避免使用不易理解的数字,用有意义的标识来替代。
  2.不要使用难懂的技巧性很高的语句。
  3.源程序中关系较为紧密的代码应尽可能相邻。

五、变量
  1.去掉没必要的公共变量。
  2.构造仅有一个模块或函数可以修改、创建,而其余有关模块或函数只访问的公共
   变量,防止多个不同模块或函数都可以修改、创建同一公共变量的现象。
  3.仔细定义并明确公共变量的含义、作用、取值范围及公共变量间的关系。
  4.明确公共变量与操作此公共变量的函数或过程的关系,如访问、修改及创建等。
  5.当向公共变量传递数据时,要十分小心,防止赋与不合理的值或越界等现象发生。
  6.防止局部变量与公共变量同名。
  7.仔细设计结构中元素的布局与排列顺序,使结构容易理解、节省占用空间,并减
   少引起误用现象。
  8.结构的设计要尽量考虑向前兼容和以后的版本升级,并为某些未来可能的应用保
   留余地(如预留一些空间等)。
  9.留心具体语言及编译器处理不同数据类型的原则及有关细节。
  10.严禁使用未经初始化的变量。声明变量的同时对变量进行初始化。
  11.编程时,要注意数据类型的强制转换。

六、函数、过程
  1.函数的规模尽量限制在200行以内。
  2.一个函数最好仅完成一件功能。
  3.为简单功能编写函数。
  4.函数的功能应该是可以预测的,也就是只要输入数据相同就应产生同样的输出。
  5.尽量不要编写依赖于其他函数内部实现的函数。
  6.避免设计多参数函数,不使用的参数从接口中去掉。
  7.用注释详细说明每个参数的作用、取值范围及参数间的关系。
  8.检查函数所有参数输入的有效性。
  9.检查函数所有非参数输入的有效性,如数据文件、公共变量等。
  10.函数名应准确描述函数的功能。
  11.避免使用无意义或含义不清的动词为函数命名
  12.函数的返回值要清楚、明了,让使用者不容易忽视错误情况。
  13/明确函数功能,精确(而不是近似)地实现函数设计。
  14.减少函数本身或函数间的递归调用。
  15.编写可重入函数时,若使用全局变量,则应通过关中断、信号量(即P、V操作)
    等手段对其加以保护。

七、可测性
  1.在编写代码之前,应预先设计好程序调试与测试的方法和手段,并设计好各种调
  测开关及相应测试代码如打印函数等。
  2.在进行集成测试/