C#编码规范.docx

上传人:b****8 文档编号:10981949 上传时间:2023-02-24 格式:DOCX 页数:39 大小:152KB
下载 相关 举报
C#编码规范.docx_第1页
第1页 / 共39页
C#编码规范.docx_第2页
第2页 / 共39页
C#编码规范.docx_第3页
第3页 / 共39页
C#编码规范.docx_第4页
第4页 / 共39页
C#编码规范.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

C#编码规范.docx

《C#编码规范.docx》由会员分享,可在线阅读,更多相关《C#编码规范.docx(39页珍藏版)》请在冰豆网上搜索。

C#编码规范.docx

C#编码规范

 

编码规范

(C#)

 

 

目录

1项目风格1

1.1项目取名1

1.2项目目录设置1

1.3项目修改记录追踪2

2代码排版2

2.1引用2

2.2代码行、格式与修饰符3

2.3长行拆分4

2.4This关键字4

3注释规范4

3.1文件的版权与版本的声明4

3.2函数、属性、类等注释5

3.3逻辑点注释5

4命名规范5

4.1Pascal、Camel及自定义命名约定5

4.2命名空间6

4.3类6

4.4接口6

4.5属性7

4.6字段7

4.7事件7

4.8方法9

4.9参数9

4.10常量9

5集合与泛型9

6用户提示10

7异常处理10

8程序效率11

9界面设计12

9.1设计原则12

9.2具体待定12

10附录:

编程原则12

1项目风格

1.1项目取名

    按照项目或者产品名称定义解决方案名称,如:

“三维力控电网监测系统”,按照“功能名称”+“模块名称”命名工程,如:

SYS.WcfService,按照“公司名称”+“产品名称”+“功能名称”+“模块名称”定义命名空间,如:

Sunwayland.DWJC.SYS.WcfService

1.2项目目录设置

每个项目要考虑到代码重用性、可维护性以及扩展性,按照业务解耦、架构分层的要求设置项目目录,如:

并且解决方案目录要与项目目录一致,如:

1.3项目修改记录追踪

每一个项目建立“变更.txt”文件记录重大变更,其格式如下:

日期:

修改人:

修改主题:

相关修改文件:

修改内容详细描述:

2前端代码规范

2.1HTML标记语言编码规范

2.1.1标记的换行规范:

*一个标记必须占用一行。

不得出现两个标记在同一行的情况(同一标记的关闭标记除外),如:

text

而必须写成:

text

2.1.2标记的关闭规范

*静态文件内容必须包含在标记中间

*标记必须包含在标记中间

*对于需要关闭的标记,如:

  <body><table><tr><td><p><textarea><select><font><option><div><span></p><p>  必须同其关闭标记同时出现。</p><p>如</p><p>  <body>…<p>…<font>….</font>….</p>…..</body></p><p>*不得出现交叉包含的语句,如:</p><p><p><font>…..</p></font></p><p>2.1.3标记的属性赋值规范</p><p>对于接受属性的标记,属性值必须使用双引号或者单引号包围。</p><p>如:</p><p>  <bodybgcolor=”red”></p><p>  <fontsize=’7’></p><p>注意:</p><p>必须确保属性的赋值无警告或错误。</p><p>2.1.4标记的缩进规范</p><p>*最高一级的父标记采用左对齐顶格方式书写。</p><p>*下一级标记采用左对齐向右缩进一个Tab的方式书写</p><p>  在下一级依此类推,分别左对齐相对于父标记向右缩进一个Tab的方式书写</p><p>*同一级标记的首字符上下必须对齐。</p><p>注意:</p><p>在进行代码缩进时,可使用VS2005及其以上版本的开发环境中的自动缩进功能。</p><p>2.2客户端JavaScript规范</p><p>2.2.1变量命名规范</p><p>*常量以及全局变量名必须全部使用大写字母</p><p>*变量名首字母必须小写</p><p>*变量名必须使用其类型的所写字符串开始。</p><p>各种类型的所写字符串如下:</p><p>*整型变量:</p><p>int</p><p>*长整型变量:</p><p>lng</p><p>*浮点型变量:</p><p>flt</p><p>*双精度变量:</p><p>dbl</p><p>*对象引用变量:</p><p>obj</p><p>*字符串变量:</p><p>str</p><p>*Date类型变量:</p><p>dtm</p><p>*变量名必须采用有意义的单词命名,如:</p><p>strUserName、lngArrayIndex</p><p>*变量名除首字母小写外,其他单词首字符必须大写</p><p>*如果变量名过长可以使用单词缩写,除了被广泛了解的单词缩写以外,所有使用单词所写的变量名必须在定义时给出注释,如:</p><p>varstrAdName//用于表示Administrator帐户的名称</p><p>varstrAdminName//不用给出注释,Admin被广泛了解</p><p>2.2.2变量使用规范</p><p>*变量使用前必须定义。</p><p>没有定义的变量禁止使用</p><p>*变量的使用尽量缩小到小的作用域。</p><p>如循环使用</p><p>for(varI=0;I<12;I++){</p><p>}</p><p>而不是:</p><p>varI;</p><p>for(I=0;I<12,I++){</p><p>}</p><p>2.2.3对象命名规范</p><p>各种页面对象如text输入框、按钮、下拉选择框在命名时必须使用以下对应前缀:</p><p>*text输入框:</p><p>txt</p><p>*button按钮:</p><p>btn</p><p>*select下拉选择框:</p><p>sel</p><p>*option项:</p><p>opt</p><p>*form表单:</p><p>frm</p><p>*frame框架:</p><p>fra</p><p>*hidden表单项:</p><p>hdn</p><p>*div标记:</p><p>div</p><p>*span标记:</p><p>spn</p><p>*对话框对象:</p><p>dlg</p><p>*窗口对象:</p><p>wnd</p><p>2.2.4函数以及子过程命名规范</p><p>*函数命名必须使用动词+名词对的方式,并且能够体现函数的功能</p><p>*函数命名的动词前缀必须是同函数功能相关的完整动词</p><p>*函数命名第一个单词的首字母小写,后面每一个单词的首字母大写</p><p>如:</p><p>GetUserName,CreateNewUser,UpdateUserInfos</p><p>2.3文件夹及文件命名规范</p><p>文件夹命名一般采用英文,长度一般不超过20个字符,命名采用小写字母。</p><p>除特殊情况才使用中文拼音,一些常见的文件夹命名如:</p><p>images(存放图形文件),flash(存放Flash文件),style(存放CSS文件),scripts(存放Javascript脚本),inc(存放include文件),link(存放友情链接),media(存放多媒体文件)等。</p><p>文件命名统一用小写的英文字母、数字和下划线的组合。</p><p>命名原则的指导思想一是使得你自己和工作组的每一个成员能够方便的理解每一个文件的意义,二是当我们在文件夹中使用“按名称排例”的命令时,同一种大类的文件能够排列在一起,以便我们查找、修改、替换、计算负载量等等操作。</p><p>2.3.1图片的命名原则</p><p>格式:</p><p>名称分为头尾两部分,用下划线隔开,头部分表示此图片的大类性质,例如广告、标志、菜单、按钮等等。</p><p>说明:</p><p>✧放置在页面顶部的广告、装饰图案等长方形的图片取名:</p><p>banner</p><p>✧标志性的图片取名为:</p><p>logo</p><p>✧在页面上位置不固定并且带有链接的小图片我们取名为button</p><p>✧在页面上位置固定并且不带有链接的背景图片我们取名为backimg</p><p>✧在页面上某一个位置连续出现,性质相同的链接栏目的图片我们取名:</p><p>menu</p><p>✧装饰用的照片我们取名:</p><p>pic</p><p>✧不带链接表示标题的图片我们取名:</p><p>title</p><p>范例:</p><p>banner_sohu.gif、banner_sina.gif、menu_aboutus.gif、menu_job.gif、title_news.gif、logo_police.gif、logo_national.gif、pic_people.jpg、backimg_notes。</p><p>2.4Request、Session、Application使用规范</p><p>*所有需要放入Session、Application中的对象,必须采用有意义的英文名字。</p><p>除了被广泛了解的单词缩写以外,不得采用单词缩写。</p><p>如:</p><p>Session(“cp”)=strCurrentUserIP‘不允许</p><p>  Session(“CurrentUserIP”)=strCurrentUserIP</p><p>  Session(“Pwd”)=strPwd‘允许,Pwd被广泛了解为密码</p><p>*所有需要在代码内用到的Request、Session、Application中的元素,必须在代码头部赋值给代码内声明的变量。</p><p>*如果获得Form中提交的内容,必须使用Request.Form(“itemName”).</p><p>*如果获得QueryString中提交的内容,必须使用Request.QueryString(“itemName”)</p><p>*不得在代码中出现Request(“。</p><p>。</p><p>。</p><p>”)这样的引用方式</p><p>3代码排版</p><p>排版格式虽然不会影响程序的功能,但会影响可读性。</p><p>程序排版应追求清晰、美观,这是程序风格的重要构成因素。</p><p>3.1引用</p><p>using语句写在文件说明之后,类定义之前。</p><p>/********************************************************************************</p><p>**作者:</p><p>赵保龙</p><p>**创始时间:</p><p>2010-5-25</p><p>**修改人:</p><p>**修改时间:</p><p>**修改人:</p><p>**修改时间:</p><p>**描述:</p><p>**修改密码命令</p><p>**ProductName:</p><p>SUNWAYLANDDWJC</p><p>**Copyright(c)2010,SUNWAYLAND</p><p>*********************************************************************************/</p><p>usingSystem;</p><p>usingSystem.Windows.Forms;</p><p>usingSmarTeam.Std.Interop.SmarTeam.SmApplic;</p><p>namespaceCAXAV5.MPM.Base</p><p>{</p><p>///<summary></p><p>///修改密码命令。</p><p>///</summary></p><p>publicclassChangePassWordCommand:</p><p>AbstractCommand</p><p>{</p><p>}</p><p>}</p><p>3.2代码行、格式与修饰符</p><p>●一行代码只做一件事情,即一行只写一条语句或者只定义一个变量。</p><p>●if、while、for、default、do、switch、case等语句自占一行,执行语句不能紧跟其后。</p><p>●if/for即使只有一个执行语句,也要使用{},单个返回语句可以不使用{}。</p><p>●变量的定义和初始化要集中,一般在文件的开头定义变量,在构造函数或加载函数里进行初始化。</p><p>局部变量的定义要在哪使用就在哪定义。</p><p>●代码格式化,使用Ctrl+K,D自动格式化代码,保证可读性。</p><p>●代码分区,一个代码文件可以包含多个类,每个类内按照字段、属性、构造函数、函数进行分区使用Region包起来。</p><p>如:</p><p>●每个类、变量、属性、函数前必须写明作用域修饰符</p><p>●空行,每两个函数之间空且只空一行</p><p>●代码瘦身,在代码设计时考虑周全尽量精简代码。</p><p> </p><p>3.3长行拆分</p><p>●代码行最大长度不许超过80个字符,超过80个字符必须拆分。</p><p>●长表达式要在低优先级操作符处拆分,操作符放在新行之后。</p><p>●长字符串拆分不允许截断一个完整的字符串,同时要在(如果有的话)“,”之后拆分。</p><p>3.4This关键字</p><p>●访问变量或调用函数时能使用this.前缀的必须使用,如果不用直接写一个标识符都不知道是普通标识符还是静态标识符了</p><p>●访问窗体控件时必须使用this.前缀,这样也可以借助VS的自动提示提高工作效率。</p><p> </p><p>4注释规范</p><p>4.1文件的版权与版本的声明</p><p>在代码文件的头部进行注释,标注出创始人、创始时间、修改人、修改时间、代码的功能,这在团队开发中必不可少,它们可以使后来维护/修改的同伴在遇到问题时,在第一时间知道他应该向谁去寻求帮助,并且知道这个文件经历了多少次迭代、经历了多少个程序员的手。</p><p>推荐结构如下:</p><p>/********************************************************************************</p><p>**作者:</p><p>赵保龙</p><p>**创始时间:</p><p>2010-05-25</p><p>**修改人:</p><p>赵保龙</p><p>**修改时间:</p><p>2010-05-25</p><p>**修改人:</p><p>赵保龙</p><p>**修改时间:</p><p>2010-05-25</p><p>**描述:</p><p>**主要用于产品信息的资料录入,…</p><p>**产品名称:</p><p>DWJCV1</p><p>**版权所有2005北京三维力控电气有限公司</p><p>*********************************************************************************/</p><p>可以通过修改VS的代码模板达到新建文件时自动添加上述信息,模板修改方法见:</p><p>附录1:</p><p>修改文件模板</p><p>4.2函数、属性、类等注释</p><p>类、公有属性、公有函数以及公有变量等必须使用///注释,私有字段推荐使用//注释,在函数注释中需要特定参数或返回值格式的要写出示例。</p><p>当注释超过8行时,使用Region将注释包起来。</p><p>例如:</p><p>推荐在每个函数的注释外面都包一层Region,便于开发时代码查看。</p><p>4.3逻辑点注释</p><p>在我们认为逻辑性较强的地方加入注释,说明这段程序的逻辑是怎样的,以方便我们自己后来的理解以及其他人的理解,并且这样还可以在一定程度上排除BUG。</p><p>在注释中写明逻辑思想,对照程序,判断程序是否符合设计的初衷。</p><p>推荐在涉及业务处理的逻辑点处输出跟踪信息,以便于调试程序排除运行时问题。</p><p>推荐同时使用Trace输出跟踪信息。</p><p>5命名规范</p><p>5.1Pascal、Camel及自定义命名约定</p><p>编程的命名方式主要有Pascal和Camel两种(Pascal:</p><p>每个单词的首字母大写,例如ProductType。</p><p>Camel:</p><p>首个单词的首字母小写,其余单词的首字母大写,例如productType)。</p><p>同时借鉴C++中的命名规范,制定如下命名规则:</p><p>标识符</p><p>大小写</p><p>示例</p><p>说明</p><p>类</p><p>Pascal</p><p>RadioDataInfo</p><p>射频数据信息对应的英文</p><p>枚举类型</p><p>Pascal</p><p>LogTypeEnum</p><p>以Enum后缀结尾</p><p>事件</p><p>Pascal</p><p>ValueChangeEvent</p><p>以Event后缀结尾</p><p>异常类</p><p>Pascal</p><p>WebException</p><p>以Exception后缀结尾</p><p>接口</p><p>Pascal</p><p>IGSMModule</p><p>总是以I前缀开始,实现类去掉I</p><p>方法</p><p>Pascal</p><p>CheckSetting</p><p>命名空间</p><p>Pascal</p><p>SYS.Service</p><p>与项目目录结构一致</p><p>属性</p><p>Pascal</p><p>WarnAffirmTime</p><p>字段</p><p>Camel</p><p>warnAffirmTime</p><p>首字母小写</p><p>静态字段</p><p>Camel</p><p>warnAffirmTime</p><p>首字母小写</p><p>参数</p><p>Camel</p><p>warnDealRecordID</p><p>局部变量</p><p>Camel</p><p>warnAffirmTime</p><p>WinFom窗体</p><p>Pascal</p><p>Form_Main</p><p>以Form_前缀开始</p><p>WinForm控件</p><p>Camel</p><p>textBox_用户名称</p><p>控件类型+下划线+业务名称(在一个项目中全用汉字或拼音或英语,不要混用)</p><p>WinForm用户控件</p><p>Pascal</p><p>UC_WarnType</p><p>以UC_前缀开始</p><p>注意:</p><p>在声明任何标识符之前必须想好名称,想不好就不要添加。</p><p>5.2命名空间</p><p>●命名空间使用按照“公司名称”+“产品名称”+“功能名称”+“模块名称”定义命名空间,如:</p><p>Sunwayland.DWJC.SYS.WcfService </p><p>●命名空间使用Pascal大小写,用点号分隔开。</p><p>●命名空间和类最好不使用同样的名字。</p><p>5.3类</p><p>●使用Pascal大小写。</p><p>●用名词或名词短语命名类,不能随便命名,推荐按照业务功能命名。</p><p>●使用全称避免缩写,除非缩写已是一种公认的约定,如URL、HTML</p><p>●基类要以Base结尾,如:</p><p>EntityBase(业务实体基类)。</p><p>●接口实现类,只继承一个接口时以去掉接口名称的前缀I来命名,继承多个接口时按照业务功能命名</p><p>●系统注意区分单例类和静态类,单例类继承单例基类,见附录3</p><p>●扩展类,基于类型的扩展在系统中非常有用,通用函数一般采用扩展类实现,见附录3</p><p>5.4接口</p><p>●命名规则和类一样,只是以字母I开头</p><p>5.5属性</p><p>●使用名词或名词短语命名属性。</p><p>●属性使用Pascal大小写</p><p>●属性使用get/set读取和设置值,get是必须写的部分。</p><p>●属性对应的字段必须为private且首字母小写。</p><p>如:</p><p>///<summary></p><p>///串口号</p><p>///</summary></p><p>privatestringportName;</p><p>[Browsable(true),DisplayName("端口")]</p><p>publicstringPortName</p><p>{</p><p>get{returnportName;}</p><p>}</p><p>●如果没有地方用到属性对应的字段则使用简写方式</p><p>示例:</p><p>///<summary></p><p>///原始数据</p><p>///</summary></p><p>publicstringOriginalData{get;set;}</p><p>5.6字段</p><p>●private、protected字段使用Camel命名方式</p><p>●public字段使用Pascal命名(不推荐,采用属性代替)</p><p>5.7事件</p><p>●对事件处理程序名称使用Event后缀。</p><p>●指定两个名为sender和e的参数。</p><p>sender参数表示引发事件的对象。</p><p>sender参数始</p><p>●终是object类型的,即使在可以使用更为特定的类型时也如此。</p><p>与事件相关联的状态封装在名为e的事件类的实例中。</p><p>对e参数类型使用适当而特定的事件类。</p><p>●用EventArgs后缀命名事件参数类。</p><p>●使用动名词(动词的“ing”形式)创建表示事件前的概念的事件名称,用过去式表示事件后。</p><p>●要在类型的事件声明上使用前缀或者后缀。</p><p>例如,使用OnClose,而不要使用Close。</p><p>●通常情况下,对于可以在派生类中重写的事件,应在类型上提供一个受保护的方法(称为OnXxx)。</p><p>此方法只应具有事件参数e,因为发送方总是类型的实例。</p><p>示例:</p><p> </p><p>publicdelegatevoidMouseEventHandler(objectsender,MouseEventArgse);</p><p>参数类示例</p><p>///<summary></p><p>///鼠标事件参数蕾</p><p>///</summary></p><p>publicclassMouseEventArgs:</p><p>EventArgs</p><p>{</p><p>privateintx;</p><p>privateinty;</p><p>///<summary></p><p>///构造函数</p><p>///</summary></p><p>///<paramname="x"></param></p><p>///<paramname="y"></param></p><p>publicMouseEventArgs(intx,inty)</p><p>{</p><p>this.x=x;</p><p>this.y=y;</p><p>}</p><p>///<summary></p><p>///X坐标</p><p>///</summary></p><p>publicintX</p><p>{</p><p>get</p><p>{</p><p>returnx;</p><p>}</p><p>}</p><p>///<summary></p><p>///Y坐标</p><p>///</summary></p><p>publicintY</p><p>{</p><p>get</p><p>{</p><p>returny;</p><p>}</p><p>}</p><p>}</p><p>5.8方法</p><p>●使用动词或动词短语命名方法。</p><p>●使用Pascal大小写。</p><p>示例:</p><p>///<summary></p><p>///根据配置文件初试化菜单</p><p>///</p><p>///创建人:</p><p>赵保龙</p><p>///创建日期:</p><p>2010-05-25</p><p>///</p><p>///修改人:</p><p>///修改日期:</p><p>///</summary></p><p>///<paramname="setFileName">配置文件</param></p><p>publicvirtualvoidInitialMenu(stringsetFileName)</p><p>{</p><p>//……..</p><p>}</p><p>5.9参数</p><p>●使用描述性参数名称。</p><p>参数名称应当具有足够的描述性,以便参数的名称及其类型可用于在大多数情况下确定它的含义。</p><p>●对参数名称使用Camel大小写。</p><p>●使用描述参数的含义的名称,而不要使用描述参数的类型的名称。</p><p>开发工具将提供有关参数的类型的有意义的信息。</p><p>因此,通过描述意义,可以更好地使用参数的名称。</p><p>少用基于类型的参数名称,仅在适合使用它们的地方使用它们。</p><p>5.10常量</p><p>●所有单词大写,多个单词之间用"_"隔开。</p><p>示例</p><p>///<summary></p><p>///MPM应用类型</p><p>///</summary></p><p>publicconststringAPPLICATION_TYPE="3";</p><p>6数据库命名规范</p><p>6.1数据文件命名规范</p><p>命名格式:</p><p>系统所属单位+_+系统名称+_+文件类型。</p><p>如:</p><p>系统所属单位为lztc,系统名称为netshop,则数据库文件命名为lztc_netshop_database.mdf,lztc_netshop_log.log。</p><p>注意:</p><p>文件名全部采用小写。</p><p>6.2数据库表命名规范</p><p>若该数据库库中有多个系统,表命名格式:</p><p>Tab_+系统名称_+单词或多个单词。</p><p>系统名是开发系统的缩写,系统名称全部采用小写英文字符,如Tab_bbs_Title,Tab_bbs_ForumType。</p><p>若该数据库库中只含有一个系统,那么表命名格式:</p><p>Tab_+单词或多个单词。</p><p>单词选择能够概括表内容的一个或多个英文单词,如Tab_UserInfo,Tab_UserType。</p><p>关连表命名规则为Re_表A_表B。</p><p>Re是Relative的缩写,如:</p><p>Re_User_ArticleType,Re_User_FormType。</p><p>表前缀还有如,SYS、BASIC、LOG、DATA、DEV等分别表示不同的业务分类。</p><p>注意:</p><p>表名长度不能超过30个字符,表名中含有单词全部采用单数形式,单词首写字母要大写,多个单词间不用任何连接符号。</p><p>6.3数据库字段命名规范</p><p>数据库字段命名格式:</p><p>表别名+_+单词</p><p>格式说明:</p><p>字段名全部采用小写英文单词,单词之间用”_”隔开。</p><p>如:</p><p>user_name,user_pwd。</p><p>表别名规则:</p><p>如果表名是一个单词,别名就取单词的前4个字母;如果表名是两个单词,就各取两个单词的前两个字母组成4个字母长的别名;如果表的名字由3个单词组成,你不妨从头两个单词中各取一个然后从最后一个单词中再取出两个字母,结果还是组成4字母长的别名。</p><p>6.4数据库视图命名规范</p><p>视图命名格式:</p><p>View</p> </div> <div class="readmore" onclick="showmore()" style="background-color:transparent; height:auto; margin:0px 0px; padding:20px 0px 0px 0px;"><span class="btn-readmore" style="background-color:transparent;"><em style=" font-style:normal">展开</em>阅读全文<i></i></span></div> <script> function showmore() { $(".readmore").hide(); $(".detail-article").css({ "height":"auto", "overflow": "hidden" }); } $(document).ready(function() { var dh = $(".detail-article").height(); if(dh >100) { $(".detail-article").css({ "height":"100px", "overflow": "hidden" }); } else { $(".readmore").hide(); } }); </script> </div> <script> var defaultShowPage = parseInt("5"); var id = "10981949"; var total_page = "39"; var mfull = false; var mshow = false; function DownLoad() { window.location.href='https://m.bdocx.com/down/10981949.html'; } function relate() { var reltop = $('#relate').offset().top-50; $("html,body").animate({ scrollTop: reltop }, 500); } </script> <script> var pre = "https://file1.bdocx.com/fileroot1/2023-2/24/25ab9041-94b5-408e-a59f-6729a37e36db/25ab9041-94b5-408e-a59f-6729a37e36db"; var freepage = parseInt('20'); var total_c = parseInt('39'); var start = defaultShowPage; var adcount = 0; var adindex = 0; var adType_list = ";0;1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;"; var end = start; function ShowSvg() { end = start + defaultShowPage; if (end > freepage) end = freepage; for (var i = start; i < end; i++) { var imgurl = pre + (i + 1) + '.gif'; var html = "<img src='" + imgurl + "' onerror=\"this.src='/images/s.gif'\" alt=\"C#编码规范.docx_第" + (i + 1) + "页\" width='100%'/>"; $("#page").append("<div class='page'>" + html + "</div>"); $("#page").append("<div class='pageSize'>第" + (i + 1) + "页 / 共" + total_c + "页</div>"); if(adcount > 0 && adType_list.indexOf(";"+(i+1)+";")>-1) { if(adindex > (adcount-1)) adindex = 0; $("#page").append("<div class='pagead' id='addiv"+(i + 1)+"'></div>"); document.getElementById("addiv"+(i + 1)+"").innerHTML =document.getElementById("adpre" + adindex).outerHTML; adindex += 1; } } start = end; if (start > (freepage - 1)) { if (start < total_c) { $("#pageMore").removeClass("btnmore"); $("#pageMore").html("亲,该文档总共" + total_c + "页,到这儿已超出免费预览范围,如果喜欢就下载吧!"); } else { $("#pageMore").removeClass("btnmore"); $("#pageMore").html("亲,该文档总共" + total_c + "页全部预览完了,如果喜欢就下载吧!"); } } } //$(document).ready(function () { // ShowSvg(); //}); </script> <div id="relate" class="container" style="padding:0px 0px 15px 0px; margin-top:20px; border:solid 1px #dceef8"> <div style=" font-size: 16px; background-color:#e5f0f7; margin-bottom:5px; font-weight: bold; text-indent:10px; line-height: 40px; height:40px; padding-bottom: 0px;">相关资源</div> <div id="relatelist" style="padding-left:5px;"> <ul> <li><em class="ppt"/></em><a target="_parent" href="https://m.bdocx.com/doc/30872145.html" title="first-fit_algorithm_first_fit_decreasing_演算法.ppt">first-fit_algorithm_first_fit_decreasing_演算法.ppt</a> </li><li><em class="pptx"/></em><a target="_parent" href="https://m.bdocx.com/doc/30871712.html" title="一科一品优质护理ppt汇报.pptx">一科一品优质护理ppt汇报.pptx</a> </li><li><em class="ppt"/></em><a target="_parent" href="https://m.bdocx.com/doc/30871636.html" title="实验三-透析实验(一)——蛋白质的透析ppt课件.ppt">实验三-透析实验(一)——蛋白质的透析ppt课件.ppt</a> </li><li><em class="pptx"/></em><a target="_parent" href="https://m.bdocx.com/doc/30871629.html" title="【精品】中医养生中医中药进校园宣传主题PPT.pptx">【精品】中医养生中医中药进校园宣传主题PPT.pptx</a> </li><li><em class="pptx"/></em><a target="_parent" href="https://m.bdocx.com/doc/30871550.html" title="人人讲安全、个个会应急——畅通生命通道.pptx">人人讲安全、个个会应急——畅通生命通道.pptx</a> </li><li><em class="ppt"/></em><a target="_parent" href="https://m.bdocx.com/doc/30871401.html" title="《当幸福来敲门》电影英语介绍.ppt">《当幸福来敲门》电影英语介绍.ppt</a> </li><li><em class="pptx"/></em><a target="_parent" href="https://m.bdocx.com/doc/30871361.html" title="cbct技术 ——【口腔颌面影像技术与诊断】.pptx">cbct技术 ——【口腔颌面影像技术与诊断】.pptx</a> </li><li><em class="ppt"/></em><a target="_parent" href="https://m.bdocx.com/doc/30871163.html" title="道路经济与管理第四章.ppt">道路经济与管理第四章.ppt</a> </li><li><em class="docx"/></em><a target="_parent" href="https://m.bdocx.com/doc/30870453.html" title="劳动在从猿到人转变过程中的作用(原文).docx">劳动在从猿到人转变过程中的作用(原文).docx</a> </li><li><em class="doc"/></em><a target="_parent" href="https://m.bdocx.com/doc/30870446.html" title="[笔记]中医各家学说重点总结.doc">[笔记]中医各家学说重点总结.doc</a> </li> </ul> </div> </div> <div class="container" style="padding:0px 0px 15px 0px; margin-top:20px; border:solid 1px #dceef8"> <div style=" font-size: 16px; background-color:#e5f0f7; margin-bottom:5px; font-weight: bold; text-indent:10px; line-height: 40px; height:40px; padding-bottom: 0px;">猜你喜欢</div> <div id="relatelist" style="padding-left:5px;"> <ul> <li><em class="docx"></em> <a href="https://m.bdocx.com/doc/9276240.html" target="_parent" title="活动实施方案.docx">活动实施方案.docx</a></li> <li><em class="docx"></em> <a href="https://m.bdocx.com/doc/9276241.html" target="_parent" title="某大型干煤棚网架工程施工方案.docx">某大型干煤棚网架工程施工方案.docx</a></li> <li><em class="docx"></em> <a href="https://m.bdocx.com/doc/9276242.html" target="_parent" title="理综试题.docx">理综试题.docx</a></li> <li><em class="docx"></em> <a href="https://m.bdocx.com/doc/9276243.html" target="_parent" title="Linux选择题练习二.docx">Linux选择题练习二.docx</a></li> <li><em class="docx"></em> <a href="https://m.bdocx.com/doc/9276244.html" target="_parent" title="18B20测温与小灯控制1.docx">18B20测温与小灯控制1.docx</a></li> <li><em class="docx"></em> <a href="https://m.bdocx.com/doc/9276245.html" target="_parent" title="变电站大修施工方案.docx">变电站大修施工方案.docx</a></li> <li><em class="docx"></em> <a href="https://m.bdocx.com/doc/9276246.html" target="_parent" title="初中英语单词表大全.docx">初中英语单词表大全.docx</a></li> <li><em class="docx"></em> <a href="https://m.bdocx.com/doc/9276247.html" target="_parent" title="雷达超速监控技术方案.docx">雷达超速监控技术方案.docx</a></li> <li><em class="docx"></em> <a href="https://m.bdocx.com/doc/9276248.html" target="_parent" title="历史学业水平测试 必修二模拟题.docx">历史学业水平测试 必修二模拟题.docx</a></li> </ul> </div> </div> <div style=" font-size: 16px; background-color:#e5f0f7; margin-top:20px; font-weight: bold; text-indent:10px; line-height: 40px; height:40px; padding-bottom: 0px; margin-bottom:10px;"> 相关搜索</div> <div class="widget-box pt0" style="border: none; padding:0px 5px;"> <ul class="taglist--inline multi"> <li class="tagPopup"><a target="_parent" class="tag tagsearch" rel="nofollow" href="https://m.bdocx.com/search.html?q=C%23">C#</a></li> <li class="tagPopup"><a target="_parent" class="tag tagsearch" rel="nofollow" href="https://m.bdocx.com/search.html?q=%e7%bc%96%e7%a0%81">编码</a></li> <li class="tagPopup"><a target="_parent" class="tag tagsearch" rel="nofollow" href="https://m.bdocx.com/search.html?q=%e8%a7%84%e8%8c%83">规范</a></li> </ul> </div> <br /> <div > 当前位置:<a target="_parent" href="https://m.bdocx.com/">首页</a> > <a href="https://m.bdocx.com/booklist-00005.html">农林牧渔</a><span> > </span><a href="https://m.bdocx.com/booklist-0000500001.html">林学</a> </div> <br /> <div class="cssnone"> <iframe title="来源" src="https://m.bdocx.com/BookRead.aspx?id=RnoYDipvepXDtGPUrKtAaA%3d%3d&parto=l8UXBsydnpWvQR5i0Pp1KjuOVsVH3SAvQ%2f2NVYgDT9AzuvE35Vr2tpNeTWqP6%2fdGhsbtiybHtTPOFumk5NaRYOVjvgASYAusO5FLYPQI3saHU0MgII5yb%2bqkr7v281tNWnu9VfNG3GuSsM1lYZ%2f5k3xBSOlQdjmkpsIzGkP7D4MrGFIAB4c3uhxo4k4fkbhjFqam3Fa%2frbFDcsBeeKpyBhAzhVAXXdt7" frameborder="0" style="width: 0px; height: 0px"> </iframe> </div> <span id="LabelScript"></span> <script src="https://mstatic.bdocx.com/JS/bootstrap-collapse.js"></script> </form> <div class="siteInner_bg" style="margin-top: 40px; border: solid 0px red; margin-left: 0px; margin-right: 0px;"> <div class="siteInner"> <p style="text-align: center;">copyright@ 2008-2022 冰豆网网站版权所有</p><p style="text-align: center;">经营许可证编号:<a href="http://beian.miit.gov.cn/" target="_blank">鄂ICP备2022015515号-1</a></p><script>var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?2e77bd3f6fe91b0e21d3f22267249ee3"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })();</script><script>(function(){ var el = document.createElement("script"); el.src = "https://lf1-cdn-tos.bytegoofy.com/goofy/ttzz/push.js?81476e42bf626128cf29544ee216a8ed7deb9487dce7ed62313212129c4244a219d1c501ebd3301f5e2290626f5b53d078c8250527fa0dfd9783a026ff3cf719"; el.id = "ttzz"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(el, s); })(window)</script> </div> </div> <div class="trnav clearfix" id="navcontent" style="display: none; background-color:#3a71b1; "> <div class="trlogoside" id="navlogo" style="display: none;"> <a href="https://m.bdocx.com/" title="冰豆网"><img src="https://www.bdocx.com/images/logo_bd.png" alt="冰豆网"></a> <div class="trnavclose" id="navclose"> <span></span> </div> </div> <div class="navcontainer"> <div class="row"> <ul class="nav navbar-nav trnavul headercontent" id="navigation" style="margin:20px 0 0px;"> <li><a target="_parent"href="https://m.bdocx.com/login.aspx">登录</a></li> <li><a target="_parent"href="https://m.bdocx.com/">首页 </a></li> <li><a target="_parent"href="https://m.bdocx.com/booklist-0.html">资源分类 </a></li> <li><a target="_parent"href="https://m.bdocx.com/UserManage/Recharge.aspx?f=0"><img src="https://m.bdocx.com/images/s.gif" alt="new" class="hottip1">升级会员 <img src="https://www.bdocx.com/FileUpload/Images/48520fea-bc98-41ae-b183-84689c7075c9.gif" alt="new" class="hottip"></a></li> <li><a target="_parent"href="https://m.bdocx.com/newslist.html">通知公告 </a></li> <li><a target="_parent"href="https://m.bdocx.com/h-0.html">帮助中心 </a></li> </ul> </div> </div> </div> <script type="text/javascript"> function stopPropagation(e) { var ev = e || window.event; if (ev.stopPropagation) { ev.stopPropagation(); } else if (window.event) { window.event.cancelBubble = true;//兼容IE } } $("#navmore").click(function (e) { $("#navcontent").show(); $("#navlogo").show(); stopPropagation(e); var navcontentwidth = $("#navcontent").width(); $('#navcontent').css({ 'right': '-' + navcontentwidth + 'px' }); $("#navcontent").show().animate({ "right": 0 }, 300); }); $(document).bind('click', function () { var navcontentwidth = $("#navcontent").width(); $("#navcontent").animate({ 'right': '-' + navcontentwidth + 'px' }, 300, function () { $("#navcontent").hide(); }); $("#navlogo").fadeOut(300); }); $("#navcontent").click(function (e) { stopPropagation(e); }); $("#navclose").click(function (e) { var navcontentwidth = $("#navcontent").width(); $("#navcontent").animate({ 'right': '-' + navcontentwidth + 'px' }, 300, function () { $("#navcontent").hide(); }); $("#navlogo").fadeOut(300); }); </script> <script> function BaseShare(title, desc, imgUrl) { var link = "https://m.bdocx.com/doc/10981949.html"; if (wx) { wx.config({ debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId: 'wx4f717640abfd1120', // 必填,公众号的唯一标识 timestamp: '1726270046', // 必填,生成签名的时间戳 nonceStr: '470E7A4F017A5476AFB7EEB3F8B96F9B', // 必填,生成签名的随机串 signature: '8873e2f5433341b8731fe572c122f51812502ba6',// 必填,签名,见附录1 jsApiList: ['onMenuShareAppMessage', 'onMenuShareTimeline', 'updateAppMessageShareData', 'updateTimelineShareData', 'hideMenuItems'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 //openTagList: ["wx-open-launch-weapp"]//H5打开小程序 }); wx.ready(function () { //需在用户可能点击分享按钮前就先调用 wx.hideMenuItems({// 要隐藏的菜单项,只能隐藏“传播类”和“保护类”按钮,所有menu项见附录3 menuList: ['menuItem:share:qq', 'menuItem:favorite', 'menuItem:share:QZone', 'menuItem:share:email', 'menuItem:originPage', 'menuItem:readMode', 'menuItem:delete', 'menuItem:editTag', 'menuItem:share:facebook', 'menuItem:share:weiboApp', 'menuItem:share:brand'] }); var shareData = { title: title, // 分享标题 desc: desc,//这里请特别注意是要去除html link: link, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致 imgUrl: imgUrl, // 分享图标 }; wx.updateAppMessageShareData(shareData);//1.4 分享到朋友 wx.updateTimelineShareData(shareData);//1.4分享到朋友圈 }); } } function BaseShare(title, desc, imgUrl, link) { if (link=="") link = "https://m.bdocx.com/doc/10981949.html"; if (wx) { wx.config({ debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId: 'wx4f717640abfd1120', // 必填,公众号的唯一标识 timestamp: '1726270046', // 必填,生成签名的时间戳 nonceStr: '470E7A4F017A5476AFB7EEB3F8B96F9B', // 必填,生成签名的随机串 signature: '8873e2f5433341b8731fe572c122f51812502ba6',// 必填,签名,见附录1 jsApiList: ['onMenuShareAppMessage', 'onMenuShareTimeline', 'updateAppMessageShareData', 'updateTimelineShareData', 'hideMenuItems'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 //openTagList: ["wx-open-launch-weapp"]//H5打开小程序 }); wx.ready(function () { //需在用户可能点击分享按钮前就先调用 wx.hideMenuItems({// 要隐藏的菜单项,只能隐藏“传播类”和“保护类”按钮,所有menu项见附录3 menuList: ['menuItem:share:qq', 'menuItem:favorite', 'menuItem:share:QZone', 'menuItem:share:email', 'menuItem:originPage', 'menuItem:readMode', 'menuItem:delete', 'menuItem:editTag', 'menuItem:share:facebook', 'menuItem:share:weiboApp', 'menuItem:share:brand'] }); var shareData = { title: title, // 分享标题 desc: desc,//这里请特别注意是要去除html link: link, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致 imgUrl: imgUrl, // 分享图标 }; wx.updateAppMessageShareData(shareData);//1.4 分享到朋友 wx.updateTimelineShareData(shareData);//1.4分享到朋友圈 }); } } </script> <script> $(document).ready(function () { var arr = $(".headercontent"); for (var i = 0; i < arr.length; i++) { (function (index) { var url = "https://m.bdocx.com/header.aspx"; $.get(url + "?t=" + (new Date()).valueOf(), function (d) { try { arr.eq(index).empty().html(d); } catch (e) { } try { arr.html(d); } catch (e) { } }); })(i); } }); </script> <script src="https://mstatic.bdocx.com/js/jquery.lazyload.js"></script> <script charset="utf-8"> $("img.lazys").lazyload({ threshold: 200, effect: "fadeIn" }); </script> </body> </html>