工欲善其事,必先利其器

环境

  • jdk1.8
  • IntelliJ IDEA

1.静态代码检查

1.1工具

  • 阿里代码规范检测工具

安装教程:阿里代码规范检查工具

1.2规范等级

在 Snoar 中对代码规则有五个级别,这是前三个:崩溃/严重/重要 ,也就是说前两级别是必须要处理掉的。

Blocker:

​ 即系统无法执行、崩溃或严重资源不足、应用模块无法启动或异常退出、无法测试、造成系统不稳定。

严重花屏、内存泄漏、用户数据丢失或破坏、系统崩溃/死机/冻结、模块无法启动或异常退出、严重的数值计算错误、功能设计与需求严重不符、其它导致无法测试的错误, 如服务器500错误

Critical

​ 即影响系统功能或操作,主要功能存在严重缺陷,但不会影响到系统稳定性。

功能未实现、功能错误、系统刷新错误、数据通讯错误、轻微的数值计算错误、影响功能及界面的错误字或拼写错误、安全性问题

Major

​ 即界面、性能缺陷、兼容性。操作界面错误(包括数据窗口内列名定义、含义是否一致)、边界条件下错误、提示信息错误(包括未给出信息、信息提示错误等)、长时间操作无进度提示、系统未优化(性能问题)、光标跳转设置不好,鼠标(光标)定位错误、兼容性问题

Minor/Trivial

​ 即易用性及建议性问题。界面格式等不规范、辅助说明描述不清楚、操作时未给用户提示、可输入区域和只读区域没有明显的区分标志、个别不影响产品理解的错别字、文字排列不整齐等一些小问题

1.3阿里开发手册

下载地址:https://www.lanzous.com/i4jauib

密码 : 9tz4

2.代码优化

2.1工具

JProfiler 安装教程:https://blog.csdn.net/wytocsdn/article/details/79258247

2.2从哪些方面:结构&效率

百度了一下,如下:

(1)优化算法时间复杂度。

(2)减少冗余数据。

(3)合理使用 copy 与 deepcopy。

(4)使用 dict 或 set 查找元素。

(5)合理使用生成器(generator)和 yield

(6)优化循环。

(7)优化包含多个判断表达式的顺序。

(8)使用join合并迭代器中的字符串。

(9)选择合适的格式化字符方式。

(10)不借助中间变量交换两个变量的值。

(11)使用 if is。

(12)使用级联比较 x < y < z。

(13)while 1 比 while True 更快。

(14)使用**而不是 pow。

(15)使用 cProfile, cStringIO 和 cPickle 等用 c 实现相同功能(分别对应profile, StringIO, pickle) 的包。

(16)使用最佳的反序列化方式。

(17)使用 C 扩展(Extension)。

(18)并行编程。

(19)终级大杀器:PyPy。

(20)使用性能分析工具。

参考博文:https://blog.csdn.net/q911137905/article/details/90142984

个人觉得:

  1. 结构:尽量遵守七大OO设计原则,可以学习一下Gof23(设计模式)。

  2. 效率:算法,优化循环,减少对象创建,多线程,不要写慢SQL。

2.3 Web项目检测

代码静态测试(java)的更多相关文章

  1. Android C代码回调java方法

    本文将讲述下列三种C代码回调java方法 1.c代码回调java空方法 2.c代码回调java int类型参数方法 3.c代码回调javaString类型参数方法 方法都差不多,先看c代码回调java ...

  2. 博友的 编写高质量代码 改善java程序的151个建议

    编写高质量代码 改善java程序的151个建议 http://www.cnblogs.com/selene/category/876189.html

  3. 一段代码了解Java中char和int的转换

    题目要求: 将输入的大写字母转成对应小写的后5个,如A转换后为f:如果转换后大于z则从a重新计,即多出1就转成a,多出2就转成b以此类推. Java代码: ```java private static ...

  4. 编写高质量代码改善java程序的151个建议——导航开篇

    2014-05-16 09:08 by Jeff Li 前言 系列文章:[传送门] 下个星期度过这几天的奋战,会抓紧java的进阶学习.听过一句话,大哥说过,你一个月前的代码去看下,慘不忍睹是吧.确实 ...

  5. 分享非常有用的Java程序(关键代码)(八)---Java InputStream读取网络响应Response数据的方法!(重要)

    原文:分享非常有用的Java程序(关键代码)(八)---Java InputStream读取网络响应Response数据的方法!(重要) Java InputStream读取数据问题 ======== ...

  6. 十行代码分清Java 的 || 和 &&

    发现有些同学到现在还没分不清 || 和 &&的作用 package System; /** * * @ClassName: RandomTest * @Description: 十行代 ...

  7. Java能不能通过代码干预Java垃圾回收

    1.不能通过Java代码干预Java垃圾回收. 2.system.gc是请求运行垃圾回收器,不一定真的运行了垃圾回收器. 3.Java的system.gc不受代码控制. 4.影响Java虚拟机垃圾回收 ...

  8. 编写高质量代码改善java程序的151个建议——[1-3]基础?亦是基础

    原创地址:   http://www.cnblogs.com/Alandre/  (泥沙砖瓦浆木匠),需要转载的,保留下! Thanks The reasonable man adapts himse ...

  9. 编写高质量代码:改善Java程序的151个建议 --[117~128]

    编写高质量代码:改善Java程序的151个建议 --[117~128] Thread 不推荐覆写start方法 先看下Thread源码: public synchronized void start( ...

  10. 编写高质量代码:改善Java程序的151个建议 --[106~117]

    编写高质量代码:改善Java程序的151个建议 --[106~117] 动态代理可以使代理模式更加灵活 interface Subject { // 定义一个方法 public void reques ...

随机推荐

  1. 01 . Keepalived原理使用和配置

    Keepalived简介 是什么? keepalived是一个类似于layer3, 4 & 5交换机制的软件,也就是我们平时说的第3层.第4层和第5层交换.Keepalived的作用是检测we ...

  2. 07 . Nginx常用模块及案例

    访问控制 用户访问控制 ngx_http_auth_basic_module 有时我们会有这么一种需求,就是你的网站并不想提供一个公共的访问或者某些页面不希望公开,我们希望的是某些特定的客户端可以访问 ...

  3. 【JSP】el、jstl、MVC、三层架构

    JSP[Java Server Pages] [概念] java服务器页面 简化的servlet设计 html语法中扩展java 跨平台 JSP全名为Java Server Pages,中文名叫jav ...

  4. Java实现 蓝桥杯 算法训练 第五次作业:字符串排序

    试题 算法训练 第五次作业:字符串排序 问题描述 输入一个小写字符串,按从小到大的顺序输出. 输入格式 bcaed 输出格式 abcde 顶格输出,中间没有空格 样例输入 一个满足题目要求的输入范例. ...

  5. Java实现 蓝桥杯 算法训练 前缀表达式

    算法训练 前缀表达式 时间限制:1.0s 内存限制:512.0MB 问题描述 编写一个程序,以字符串方式输入一个前缀表达式,然后计算它的值.输入格式为:"运算符 对象1 对象2", ...

  6. jmeter怎么衡量tps的值

    jmeter也没有tps这么个报告数据,后来又翻了翻loadrunner关于tps的定义 1.TPS:Trasaction per second也就是事务数/秒.它是软件测试结果的测量单位.一个事务是 ...

  7. C# 反射详解一

    首先反射是基于System.Reflection命名空间下,.Net框架提供的帮助类库,可以读取并使用metadata(元数据:描述对象信息的数据). 我们再来看下代码生成编译的总过程. 编译器编译( ...

  8. airpods2隐藏的使用技巧(十)点

    airpods的凭借出色的外观.不错的音质以及非常人性化的用户体验秒杀了同类型的许多真无线蓝牙耳机,以下是第二代产品airpods2一些使用的技巧,推荐给大家.   一. 随时随地查看airpods2 ...

  9. vj提交时常见问题

  10. css如何实现水平垂直居中

    方法 居中元素定宽高固定 PC兼容性 移动端兼容性 absolute + 负margin 是 ie6+, chrome4+, firefox2+ 安卓2.3+, iOS6+ absolute + ma ...