当前位置: 首页 > news >正文

网站备案怎么改用织梦系统做网站

网站备案怎么改,用织梦系统做网站,wordpress账号破解版,上海公司注册一网通办官网( 一 ) 异常处理 1. 【强制】 Java 类库中定义的一类 RuntimeException 可以通过预先检查进行规避#xff0c;而不应该 通过 catch 来处理#xff0c;比如#xff1a; IndexOutOfBoundsException #xff0c; NullPointerException 等等。 说明#xff1a; 无法通… ( 一 ) 异常处理 1. 【强制】 Java 类库中定义的一类 RuntimeException 可以通过预先检查进行规避而不应该 通过 catch 来处理比如 IndexOutOfBoundsException NullPointerException 等等。 说明 无法通过预检查的异常除外如在解析一个外部传来的字符串形式数字时通过 catch NumberFormatException 来实现。 正例 if (obj ! null) {...} 反例 try { obj.method() } catch (NullPointerException e) {...} 2. 【强制】异常不要用来做流程控制条件控制因为异常的处理效率比条件分支低。 3. 【强制】对大段代码进行 try - catch 这是不负责任的表现。 catch 时请分清稳定代码和非稳 定代码稳定代码指的是无论如何不会出错的代码。对于非稳定代码的 catch 尽可能进行区分 异常类型再做对应的异常处理。 4. 【强制】捕获异常是为了处理它不要捕获了却什么都不处理而抛弃之如果不想处理它请 将该异常抛给它的调用者。最外层的业务使用者必须处理异常将其转化为用户可以理解的 内容。 5. 【强制】有 try 块放到了事务代码中 catch 异常后如果需要回滚事务一定要注意手动回 滚事务。 6. 【强制】 finally 块必须对资源对象、流对象进行关闭有异常也要做 try - catch 。 说明 如果 JDK 7 及以上可以使用 try - with - resources 方式。 7. 【强制】不能在 finally 块中使用 return finally 块中的 return 返回后方法结束执行不 会再执行 try 块中的 return 语句。 8. 【强制】捕获异常与抛异常必须是完全匹配或者捕获异常是抛异常的父类。 说明 如果预期对方抛的是绣球实际接到的是铅球就会产生意外情况。 9. 【推荐】方法的 返回值可以为 null 不强制返回空集合或者空对象等必须添加注释充分 说明什么情况下会返回 null 值。调用方需要进行 null 判断防止 NPE 问题。 说明 本手册明确 防止 NPE 是调用者的责任。即使被调用方法返回空集合或者空对象对调用 者来说也并非高枕无忧必须考虑到远程调用失败、序列化失败、运行时异常等场景返回 null 的情况。 10. 【推荐】防止 NPE 是程序员的基本修养注意 NPE 产生的场景 1 返回类型为基本数据类型 return 包装数据类型的对象时自动拆箱有可能产生 NPE 。 反例 public int f() { return Integer 对象 } 如果为 null 自动解箱抛 NPE 。 2 数据库的查询结果可能为 null 。 3 集合里的元素即使 isNotEmpty 取出的数据元素也可能为 null 。 4 远程调用返回对象时一律要求进行空指针判断防止 NPE 。 5 对于 Session 中获取的数据建议 NPE 检查避免空指针。 6 级联调用 obj . getA() . getB() . getC() 一连串调用易产生 NPE 。 正例 使用 JDK8 的 Optional 类来防止 NPE 问题。 11. 【推荐】定义时区分 unchecked / checked 异常避免直接抛出 new RuntimeException() 更不允许抛出 Exception 或者 Throwable 应使用有业务含义的自定义异常。推荐业界已定义 过的自定义异常如 DAOException / ServiceException 等。 12. 【参考】在代码中使用 “ 抛异常 ” 还是 “ 返回错误码 ” 对于公司外的 http / api 开放接口必须 使用 “ 错误码 ” 而应用内部推荐异常抛出 跨应用间 RPC 调用优先考虑 使用 Result 方式 封 装 isSuccess() 方法 、 “ 错误码 ” 、 “ 错误简短信息 ” 。 说明 关于 RPC 方法返回方式使用 Result 方式的理由 1 使用抛异常返回方式调用方如果没有捕获到就会产生运行时错误。 2 如果不加栈信息只是 new 自定义异常加入自己的理解的 error message 对于调用 端解决问题的帮助不会太多。如果加了栈信息在频繁调用出错的情况下数据序列化和传输 的性能损耗也是问题。 13. 【参考】避免出现重复的代码 Don ’ t Repeat Yourself 即 DRY 原则。 说明 随意复制和粘贴代码必然会导致代码的重复在以后需要修改时需要修改所有的副 本容易遗漏。必要时抽取共性方法或者抽象公共类甚至是组件化。 正例 一个类中有多个 public 方法都需要进行数行相同的参数校验操作这个时候请抽取 private boolean checkParam(DTO dto) {...} 二MYSQL 建表规约 1. 【强制】表达是与否概念的字段必须使用 is _ xxx 的方式命名数据类型是 unsigned tinyint 1 表示是 0 表示否 。 说明 任何字段如果为非负数必须是 unsigned 。 正例 表达逻辑删除的字段名 is_deleted 1 表示删除 0 表示未删除。 2. 【强制】表名、字段名必须使用小写字母或数字 禁止出现数字开头禁止两个下划线中间只 出现数字。数据库字段名的修改代价很大因为无法进行预发布所以字段名称需要慎重考虑。 说明 MySQL 在 Windows 下不区分大小写但在 Linux 下默认是区分大小写。因此数据库 名、表名、字段名都不允许出现任何大写字母避免节外生枝。 正例 aliyun _ admin rdc _ config level 3_ name 反例 AliyunAdmin rdcConfig level _3_ name 3. 【强制】表名不使用复数名词。 说明 表名应该仅仅表示表里面的实体内容不应该表示实体数量对应于 DO 类名也是单数 形式符合表达习惯。 4. 【强制】禁用保留字如 desc 、 range 、 match 、 delayed 等请参考 MySQL 官方保留字。 5. 【强制】主键索引名为 pk_ 字段名唯一索引名为 uk _ 字段名 普通索引名则为 idx _ 字段名。 说明 pk_ 即 primary key uk _ 即 unique key idx _ 即 index 的简称。 6. 【强制】小数类型为 decimal 禁止使用 float 和 double 。 说明 float 和 double 在存储的时候存在精度损失的问题很可能在值的比较时得到不 正确的结果。如果存储的数据范围超过 decimal 的范围建议将数据拆成整数和小数分开存储。 7. 【强制】如果存储的字符串长度几乎相等使用 char 定长字符串类型。 8. 【强制】 varchar 是可变长字符串不预先分配存储空间长度不要超过 5000 如果存储长 度大于此值定义字段类型为 text 独立出来一张表用主键来对应避免影响其它字段索 引效率。 9. 【强制】表必备三字段 id , gmt _ create , gmt _ modified 。 说明 其中 id 必为主键类型为 unsigned bigint 、单表时自增、步长为 1 。 gmt_create, gmt_modified 的类型均为 date_time 类型前者现在时表示主动创建后者过去分词表示被 动更新。 10. 【推荐】表的命名最好是加上 “ 业务名称 _ 表的作用 ” 。 正例 alipay _ task / force _ project / trade _ config 11. 【推荐】库名与应用名称尽量一致。 12. 【推荐】如果修改字段含义或对字段表示的状态追加时需要及时更新字段注释。 13. 【推荐】字段允许适当冗余以提高查询性能但必须考虑数据一致。冗余字段应遵循 1 不是频繁修改的字段。 2 不是 varchar 超长字段更不能是 text 字段。 正例 商品类目名称使用频率高字段长度短名称基本一成不变可在相关联的表中冗余存 储类目名称避免关联查询。 14. 【推荐】单表行数超过 500 万行或者单表容量超过 2 GB 才推荐进行分库分表。 说明 如果预计三年后的数据量根本达不到这个级别请不要在创建表时就分库分表。 15. 【参考】合适的字符存储长度不但节约数据库表空间、节约索引存储更重要的是提升检 索速度。 正例 如下表其中无符号值可以避免误存负数且扩大了表示范围。 ( 二 ) 索引规约 1. 【强制】业务上具有唯一特性的字段即使是多个字段的组合也必须建成唯一索引。 说明 不要以为唯一索引影响了 insert 速度这个速度损耗可以忽略但提高查找速度是明 显的 另外即使在应用层做了非常完善的校验控制只要没有唯一索引根据墨菲定律必 然有脏数据产生。 2. 【强制】超过三个表禁止 join 。需要 join 的字段数据类型必须绝对一致 多表关联查询时 保证被关联的字段需要有索引。 说明 即使双表 join 也要注意表索引、 SQL 性能。 3. 【强制】在 varchar 字段上建立索引时必须指定索引长度没必要对全字段建立索引根据 实际文本区分度决定索引长度即可。 说明 索引的长度与区分度是一对矛盾体一般对字符串类型数据长度为 20 的索引区分 度会高达 90% 以上可以使用 count(distinct left( 列名 , 索引长度 )) / count( * ) 的区分度 来确定。 4. 【强制】页面搜索严禁左模糊或者全模糊如果需要请走搜索引擎来解决。 说明 索引文件具有 B - Tree 的最左前缀匹配特性如果左边的值未确定那么无法使用此索 引。 5. 【推荐】如果有 order by 的场景请注意利用索引的 有序性 。 order by 最后的字段是组合 索引的一部分并且放在索引组合顺序的最后避免出现 file _ sort 的情况影响查询性能。 正例 where a ? and b ? order by c; 索引 a _ b _ c 反例 索引中有范围查找那么索引有序性无法利用如 WHERE a 10 ORDER BY b; 索引 a _ b 无法排序。 6. 【推荐】利用覆盖索引来进行查询操作避免回表。 说明 如果一本书需要知道第 11 章是什么标题会翻开第 11 章对应的那一页吗目录浏览 一下就好这个目录就是起到覆盖索引的作用。 正例 能够建立索引的种类主键索引、唯一索引、普通索引而覆盖索引是一种查询的一种 效果用 explain 的结果 extra 列会出现 using index 。 7. 【推荐】利用延迟关联或者子查询优化超多分页场景。 说明 MySQL 并不是跳过 offset 行而是取 offset N 行然后返回放弃前 offset 行返回 N 行那当 offset 特别大的时候效率就非常的低下要么控制返回的总页数要么对超过 特定阈值的页数进行 SQL 改写。 正例 先快速定位需要获取的 id 段然后再关联 SELECT a.* FROM 表 1 a, (select id from 表 1 where 条件 LIMIT 100000,20 ) b where a.idb.id 8. 【推荐】 SQL 性能优化的目标至少要达到 range 级别要求是 ref 级别如果可以是 consts 最好。 说明 1 consts 单表中最多只有一个匹配行 主键或者唯一索引 在优化阶段即可读取到数据。 2 ref 指的是使用普通的索引 normal index 。 3 range 对索引进行范围检索。 反例 explain 表的结果 type index 索引物理文件全扫描速度非常慢这个 index 级 别比较 range 还低与全表扫描是小巫见大巫。 9. 【推荐】建组合索引的时候区分度最高的在最左边。 正例 如果 where a ? and b ? a 列的几乎接近于唯一值那么只需要单建 idx _ a 索引即 可。 说明 存在非等号和等号混合判断条件时在建索引时请把等号条件的列前置。如 where a ? and b ? 那么即使 a 的区分度更高也必须把 b 放在索引的最前列。 10. 【推荐】防止因字段类型不同造成的隐式转换导致索引失效。 11. 【参考】创建索引时避免有如下极端误解 1 宁滥勿缺。认为一个查询就需要建一个索引。 2 宁缺勿滥。认为索引会消耗空间、严重拖慢更新和新增速度。 3 抵制惟一索引。认为业务的惟一性一律需要在应用层通过 “ 先查后插 ” 方式解决。 ( 三 )SQL 语句 1. 【强制】不要使用 count( 列名 ) 或 count( 常量 ) 来替代 count( * ) count( * ) 是 SQL 92 定义的 标准统计行数的语法跟数据库无关跟 NULL 和非 NULL 无关。 说明 count( * ) 会统计值为 NULL 的行而 count( 列名 ) 不会统计此列为 NULL 值的行。 2. 【强制】 count(distinct col) 计算该列除 NULL 之外的不重复行数注意 count(distinct col 1, col 2 ) 如果其中一列全为 NULL 那么即使另一列有不同的值也返回为 0 。 3. 【强制】当某一列的值全是 NULL 时 count(col) 的返回结果为 0 但 sum(col) 的返回结果为 NULL 因此使用 sum() 时需注意 NPE 问题。 正例 可以使用如下方式来避免 sum 的 NPE 问题 SELECT IF(ISNULL(SUM(g)) ,0, SUM(g)) FROM table; 4. 【强制】使用 ISNULL() 来判断是否为 NULL 值。 说明 NULL 与任何值的直接比较都为 NULL 。 1 NULLNULL 的返回结果是 NULL 而不是 false 。 2 NULLNULL 的返回结果是 NULL 而不是 true 。 3 NULL1 的返回结果是 NULL 而不是 true 。 5. 【强制】在代码中写分页查询逻辑时若 count 为 0 应直接返回避免执行后面的分页语句。 6. 【强制】不得使用外键与级联一切外键概念必须在应用层解决。 说明 以学生和成绩的关系为例学生表中的 student _ id 是主键那么成绩表中的 student _ id 则为外键。如果更新学生表中的 student _ id 同时触发成绩表中的 student _ id 更新即为 级联更新。外键与级联更新适用于单机低并发不适合分布式、高并发集群 级联更新是强阻 塞存在数据库更新风暴的风险 外键影响数据库的插入速度。 7. 【强制】禁止使用存储过程存储过程难以调试和扩展更没有移植性。 8. 【强制】数据订正时删除和修改记录时要先 select 避免出现误删除确认无误才能执 行更新语句。 9. 【推荐】 in 操作能避免则避免若实在避免不了需要仔细评估 in 后边的集合元素数量控 制在 1000 个之内。 10. 【参考】如果有全球化需要所有的字符存储与表示均以 utf -8 编码注意字符统计函数 的区别。 说明 SELECT LENGTH( 轻松工作 ) 返回为 12 SELECT CHARACTER _ LENGTH( 轻松工作 ) 返回为 4 如果需要存储表情那么选择 utfmb 4 来进行存储注意它与 utf -8 编码的区别。 11. 【参考】 TRUNCATE TABLE 比 DELETE 速度快且使用的系统和事务日志资源少但 TRUNCATE 无事务且不触发 trigger 有可能造成事故故不建议在开发代码中使用此语句。 说明 TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同。
http://www.zqtcl.cn/news/972758/

相关文章:

  • 网站建设教学方法探究购物网站开发中查看订单的实现逻辑
  • 网站建设漂亮的模板西安网络优化大的公司
  • 如何免费简单建一个网站河北优化网站获客qq
  • 如何给网站做seo东莞网站建设星河
  • 什么叫门户类网站哪个网站能帮助做路书
  • 网站建站基础娄底网站推广
  • WordPress网站仿制光明建网站的公司
  • 可以做企业网站昆明seo怎么做
  • 西安那里做网站媒体软文发稿
  • 怎样做网站呢wordpress首页幻灯片尺寸
  • 青岛即墨网站网页设计营销型网站规划建设的七大要素
  • WordPress建站经验固原市住房和城乡建设厅网站
  • 可以查企业信息的软件wordpress换模板 seo
  • 网站广告怎么做wordpress封面图七牛
  • 设计师网站上海建设银行内部网站6
  • 网站接广告平台wordpress悬浮下拉
  • 国内网站做国外服务器网站建设的cms系统
  • 社交信息共享网站开发外包网站建设规划书的空间
  • 广告网站建设方案沂源网站建设
  • 城建局官网整站seo排名外包
  • 网站运营团队各岗位的职责是什么辽宁建设工程信息网官网首页官方
  • 怎样做网站框架图流媒体网站开发
  • cnzz统计代码放在网站网站建设一般要多钱
  • 长春火车站附近宾馆discuz论坛
  • 洛阳网站建设优惠公司做网站用虚拟主机还是服务器
  • 做自媒体网站需要注册什么公司六安app开发公司
  • 怎么用服务器ip做网站网站建设公司如何发展
  • 网站定位策划制作英文网站案例
  • 台州网站平面设计家装设计学校
  • 做PPT的辅助网站网站建设费属于宣传费吗