发表于: 2021-08-31 20:53:23

0 1670


今天完成的事情:项目开发规范;

图片:

命名全部用小写英文字母或加上数字的组合,其中不得包含汉字、空格、特殊字符;尽量用易懂的词汇便于其他团队成员理解;

保证视觉效果的前提下选择最小的图片格式与质量,减少加载时间;

色彩丰富且没有透明半透明部分的图片,切图使用jpg;色彩较丰富且有透明半透明部分的图片,切图使用png24;有透明且色彩单一边缘清晰的图片,切图使用png8;

html中重要图片加上alt属性;

页面相对稳定情况下,使用css sprite技术,集中小的背景图或图片,减少HTTP请求次数;

Javascript:

基本规则:

每行代码结束必须有分号

命名语义化,避免使用无意义的命名,变量和函数命名用小驼峰法;

避免随意使用全局变量;

项目实战

对于接口异常应有相应提示;

重复调用代码进行封装;

改动公共代码部分需要通知到所有项目组成员,要求自测一遍涉及到改代码的所有页面,确保项目正常。 


Angular:

$time 替代 setTimeout、 $interval 替代 setInterval、$window 替代 window、$document 替代document、$http 替代$.ajax

使用promise($q)而非回调

尽可能使用$resource 而非$http。更高的抽象避免冗余

避免使用全局变量或函数,通过依赖注入解决所有依赖,减少bug

不污染$scope,仅添加与视图相关的函数和变量

不使用$前缀来命名变量属性和方法,这是留给angularJS的

检查是否有多余的方法注入

 

控制器:

不在控制器里操作DOM,违背了关注点分离原则。应该通过指令操作DOM

控制器是js构造函数,所以应该用大驼峰法命名

控制器不应该在全局中定义

使用controller as语法,优点:绑定的属性不属于$scope原型链。非必须由$scope完成的操作移除了$scope,为angular2做好准备。更接近于普通js构造函数。

尽可能的精简控制器,将通用函数抽象为独立服务

Controller中只写主要逻辑,具体的判断由util和service负责

需要跨控制器通讯时,通过方法引用或者$emit,$broadcast,$on方法。发送和广播消息应该限定在最小作用域

 指令

小驼峰法命名

link function 中使用scope而不是$scope。

DOM操作只通过指令完成

可复用的组件创建独立作用域

处理不可信的数据时,使用$sce

 

过滤器

小驼峰法命名

尽可能使过滤器精简

过滤器中只做一件事,更复杂的操作可以用pipe串联多个过滤器

服务

小驼峰法命名

业务逻辑封装到服务中,业务逻辑抽象为服务作为model

使用$cacheFactory进行回话级别的缓存,缓存网络请求或复杂运算的结果

模板

使用ng-bind或者ng-cloak而非简单的{{}}以防止页面渲染的闪烁

避免模板中使用复杂表达式



明天计划的事情:写页面,做项目,理解代码。


返回列表 返回列表
评论

    分享到