2011年12月份学习总结,在PE的前端标准思考和萌芽

2011年12月份学习总结,创建日期:2012-01-03 22:21:31,有删减。

  • 早年的一篇总结,记录对于前端标准的一些思考和萌芽工作;
  • 对于当时的前端标准,始于2011年,在2013~2014进一步提升,编写和制定了一些硬性条件,但在2015年沉寂和消亡,在2016~2017年有SiteAzure产品后,重新做了点工作……
  • 可由始至终还没做到位,原因很多,或者是项目性工作千化万变,在共性与个性中,难找平衡点,或者是核心人员不断流失,使得标准化过于空谈,或者是并没有重视质量保证和质量控制,使得初有成效的标准流于表面,没在项目中贯彻落实……

总之,那是10年前对前端标准的一些考量,个人记录。以下正文。

前言说的

设计中心标准化,为什么要做标准化?http://dtop.powereasy.net/pel/(注:已失效),这篇也算是标准化建设的2011总结和2012计划。

补充,20201226,解释说明

  • PEL(PowerEasy Layout)为动易设计中心规划、制作的,适用于设计中心所有设计师、前端工程师,在模板定制等各种模板输出中,规范应用起来的布局标准。
  • PEL应向HTML5靠齐……

最近半年现在流行一个词语:“站群配套”,即要做几十个网站模板,各种各样的,里面能搭建起几百个站点,几千个站点,这样的项目我们该怎么做呢?将来怎么面对呢,貌似这一问题我个人已经思考了很久,从贵州教育的县市网站和学校网站已经开始谋划这类站点。

2011年10月设计中心也开始了标准化的各种规范建设,在前端输出的标准中,从前期的贵州教育教育局站点站群项目上看到,因参与的同事较多,现有的技术水平参次不齐,各有各标准,简单说,一个项目做一套项目模板,这套模板的就只适合这项目,以及这设计师前端工程师修改使用,其他人用起来或修改起来,得熟悉这套模板的的各种规范。总成了模板之间不能通用,项目间模板不能复用,往往造成了设计中心前端输出人员需要进行重复工作,低价值工作。

我们统一什么?统一哪些?

我们提倡,使用editplus、或者notepad++,进行前端代码输出,方便快捷,轻量化输出工具,说白了就是强制背熟所有HTML、CSS的词汇,善用各种CHM资源文档,不再建议使用dreamweaver进行前端代码输出。

补充,20201226:当时还真没sublime Text2,且当时前端工程师的要求感觉是比较低的;

  • HTML的规范,我们规定,CSS/JS/盒子模型的各种使用和书写统一等;
  • CSS的规范,CSS文件的建立,我们依照这样的规范,CSS文件的文件命名和区分等;
  • JS的规范,基于jquery最新版上开发各种效果,统一学习和使用设计中心的slide库,可应用焦点图、滚动、切换、导航等通用效果;
  • 标签的规范,我们重构了通用信息列表、通用带图片信息列表、内容信息列表、内容带图片信息列表,已经新创了“头条信息列表”标签。

标题盒子模型

HTML的规范的里这里举例说明“标题盒子模型”的例子,而标题盒子,应用最广泛的,我们规定,必须按照box/hd/bd的规范。

一般标题盒子
<div class="box">
  <div class="hd"><h3>标题</h3></div>
  <div class="bd">内容</div>
</div>s
带切换+标题的盒子
<div class="boxboxTab"id="hotRank">
  <div class="hd"><h3>热门</h3><ul><li>年</li>月日</ul></div>
  <div class="bd">内容</div>
</div>

就上面标题盒子模型,基本满足现在页面布局的调整,再看一个旧项目,这一堆代码,作用就是些书签切换效果,我们需要不提倡这样的代码方式:

不提成切换的写法

切换,你还用上面这样的代码吗?我们建议统一使用slide.jshttp://www.superslide2.com/,我们只需要:

jQuery(".slideTxtBox").slide();

这是一个切换的HTML代码:

标准的切换结构

现在我们要怎样:结合标题盒子模型+slide.js,出来标准的切换效果:

盒子模型+slide.js

从整个页面上看,我们的命名和代码结构都趋向简洁,没有多余的代码,从是ID还是CLASS,都开始形成统一。

整体代码结构

后话

曾经问过腾讯CDC的同学们,他们怎么制定内部的规范,答曰:规范就是最大内部统一,不用看别人怎样,只需要内部协调确定,执行,那就是最好的规范。

现在标准化进程还是在开始阶段,虽然已经让各个前端同事往这标准方向靠齐,统一还需很长时间。我们标准规定,并不是限定限制知识的扩展和创新,而是在一个既定范围内,达到最大的认同接纳,目的只有方便项目实施,提高效率,可复用模板。

在现在的定制里面,很快就得应用起我们标准化的各种知识,例如在贵州教育学校模板、赫章政府站子站模板等的非常多子站站点项目上,能一试身手。在后面不断对标准化的代码和方法更新维护,没有恒定的方法,只有不断向前持续改进的标准化建设。

动易标签说明 信息概览 调用范例 参数细目 查询语句 转换模板 附加信息 图片一列式栏目上下循环 标签名称: 图片一列式栏目上下循环 调用标签名: {PE.Label id="图片一列式栏目上下循环"/} 数据源调用标签名: {PE.DataSource id="cone" datasource="图片一列式栏目上下循环" /} 标签分类: 栏目类 标签文件大小: 3K 更新时间: 2010/3/29 9:36:04 解析方式: 简单XSLT解析 数据设置: 系统数据库SQL查询 官方版本: 3.5.0.0 兼容版本: 3.5.0.0 是否具有分页功能: 否 是否启用XSLT查询: 否 是否启用XSLT统计: 否 是否允许Ajax访问: 否 标签说明: 图片一列式栏目上下循环 调用说明: ·分页需要开启参数usePage="true"。 ·双击可以直接复制调用代码至剪贴板。 ·绑定样式系列的查询标签分页标签数据源为 当前调用的标签+_+样式标签。 ·部分列表类标签支持节点配置托管,每页的分页数量可由节点配置。 ·移除和默认值相等的参数将会提升性能;不需要改变默认值的参数就尽量不要调用它。 普通调用方法: {PE.Label id="图片一列式栏目上下循环" outputQty="10" parentId="2" titleLength="60" hits="0" eliteLevel="0" linkOpenType="2" /} 分页调用方法: 该标签不具备分页功能 数据源调用方法: {PE.DataSource id="cone" datasource="图片一列式栏目上下循环" outputQty="10" parentId="2" titleLength="60" hits="0" eliteLevel="0" linkOpenType="2" /} 属性 参数类型 默认值 可用值 变量值 参数说明 outputQty - 10 自定义值 - 输出的项目数量,如果开启分页,则此参数为分页大小值 parentId - 2 自定义值,支持数组 @RequestInt_Id 父栏目ID titleLength - 60 自定义值 - 项目标题长度,一个汉字占两个字节 hits - 0 自定义值 - 点击数大于等于指定值的项目 eliteLevel - 0 自定义值 - 推荐级大于等于指定值的项目 linkOpenType - 2 自定义值 - 内容链接的打开方式{栏目节点配置取代:2,新窗口:1,原窗口:0} 查询语句: view sourceprint?1.SELECT TOP @pagesize * FROM PE_Nodes N WHERE N.NodeID NOT IN (SELECT TOP @startrow [IN].NodeID FROM PE_Nodes [IN] WHERE [IN].ParentID = @parentId AND [IN].ShowOnList_Parent = 1 AND [IN].PurviewType != 3 ORDER BY [IN].OrderID) AND N.ParentID = @parentId AND N.ShowOnList_Parent = 1 AND N.PurviewType != 3 ORDER BY N.OrderID 统计语句: view sourceprint?1.SELECT COUNT ([IN].NodeID) FROM PE_Nodes [IN] WHERE [IN].ParentID = @parentId AND [IN].ShowOnList_Parent = 1 AND [IN].PurviewType != 3 分页语句: view sourceprint?1.还没有相关数据! 转换模板内容: view sourceprint?01.<?xml version="1.0" encoding="utf-8"?> 02.<XSL:TRANSFORM exclude-result-prefixes="pe" xmlns:pe="labelproc" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> 03. <XSL:OUTPUT method="html" /> 04. <XSL:PARAM name="outputQty" /> 05. <XSL:PARAM name="parentId" /> 06. <XSL:PARAM name="titleLength" /> 07. <XSL:PARAM name="hits" /> 08. <XSL:PARAM name="eliteLevel" /> 09. <XSL:PARAM name="linkOpenType" /> 10. <XSL:TEMPLATE match="/"> 11. <XSL:FOR-EACH select="/NewDataSet/Table"> 12. <DIV class=c_spacing> 13. </DIV> 14. <DIV class=c_main_box sizcache="0" sizset="1"> 15. <DIV class=class_title> 16. <DIV class=more> 17. <A> 18. <XSL:ATTRIBUTE name="href"> 19. <XSL:VALUE-OF select="pe:GetNodePath('true',NodeID)" /> 20. </XSL:ATTRIBUTE>[更多]</A> 21. </DIV> 22. <A> 23. <XSL:ATTRIBUTE name="href"> 24. <XSL:VALUE-OF select="pe:GetNodePath('true',NodeID)" /> 25. </XSL:ATTRIBUTE> 26. <XSL:VALUE-OF select="pe:GetNode(NodeID,'name')" /> 27. </A> 28. </DIV> 29. <DIV class=class_content sizcache="0" sizset="1"> 30. <DIV class=p_class_list sizcache="0" sizset="1"> 31. <UL>{PE.DataSource id="InfoList<XSL:VALUE-OF select="NodeID" />" datasource="图片栏目循环列表信息" nodeArray="<XSL:VALUE-OF select="arrChildID" />" parentId="<XSL:VALUE-OF select="$parentId" />" outputQty="<XSL:VALUE-OF select="$outputQty" />" hits="<XSL:VALUE-OF select="$hits" />" eliteLevel="<XSL:VALUE-OF select="$eliteLevel" />" linkOpenType="<XSL:VALUE-OF select="$linkOpenType" />" xslt="true" /} 32.{PE.Repeat id="InfoList<XSL:VALUE-OF select="NodeID" />" loop="10"} 33.<LI> 34.{PE.field id="InfoList<XSL:VALUE-OF select="NodeID" />" fieldname="DefaultPicUrl" /} 35.<BR> 36.{PE.field id="InfoList<XSL:VALUE-OF select="NodeID" />" fieldname="InfoPath" /} 37. 38.{/PE.Repeat} 39.</LI></UL> 40. </DIV> 41. <DIV class=clearbox> 42. </DIV> 43. </DIV> 44. </DIV> 45. </XSL:FOR-EACH> 46. </XSL:TEMPLATE> 47.</XSL:TRANSFORM> 附加说明: - 注意事项: - 使用说明: - 更新日志: - 相关链接: -
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zen.Wu

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值