exakat.code index exakat.金沙上线 Index of coding

不使用@是良好做法的海报孩子。它’S也是一个不可能的目标。您是否知道@运算符仅仅是50%的金沙上线应用程序?括号内容也是如此:唐’使用它们,如50%的开发人员。这就是exakat 金沙上线编码指数的诞生方式。

每个月,Exakat对半百万行的金沙上线代码进行了数千次分析。这主要用于测试目的,一种酷刑测试,检查引擎在任何类型的代码上运行。确保正确处理所有情况是非常有用的。

我们还通过分析提取了1700多个项目的以下统计数据,分析。这样,任何问题都可以排名‘wide spread’ to ‘very unusual’. In fact, ‘wide spread’也可以被理解为:‘almost a feature’。可能是我们可以向Wiki.php.net建议其中一些。

每个分析在下面排名,其外观频率在代码中,其进展。如果您想测试自己的代码,只需安装Exakat并运行审核。

是用于新开发的分析,并用于分析过时。

Nov 17 Oct 17 Prog。 姓名 评分 改变
1 1 使用默认值   94.49% -3.30%
2 2 一次使用变量(范围内)   92.58% 28.10%
3 3 未使用的方法   89.69% -0.20%
4 4 应该使用本地类   89.05% -1.20%
5 5 覆盖变量   87.60% -3.90%
6 6 可以是保护的方法   87.31% -3.80%
7 8 财产可能是私人方法   86.56% -1.20%
8 7 未使用的论据   86.33% -3.50%
9 9 覆盖文字   83.96% -3.40%
10 10 金沙上线关键字作为名称   81.81% -2.30%
11 11 未解决的课程   78.40% -1.90%
12 12 嵌套ifthen.   76.37% -4.40%
13 13 未定义的课程   76.14% -1.30%
14 15 单一的属性   75.85% 1.10 %
15 14 长争论   75.79% -0.10%
16 17 未使用的课程   75.21% -0.50%
17 18 继电器功能   75.04% 4.30 %
18 16 不仅仅是定义   74.98% -4.60%
19 19 无用的括号   73.82% -4.30%
20 20 应该制作三元   73.71% -0.10%
21 21 一次使用变量   72.55% -3.90%
22 23 埋葬分配   71.16% -0.60%
23 24 使用正面情况   69.94% -3.30%
24 22 可预处理   69.83% -24.60%
25 25 属性变量混乱   69.19% -0.10%
26 26 避免可选属性   68.73% -2.90%
27 27 预增量   65.66% -3.90%
28 29 物业可能是私人财产   65.54% -2.70%
29 28 当地未使用的财产   65.43% -3.80%
30 30 不需要别人   64.96% -6.70%
31 32 可以做一个职能   64.50% -2.40%
32 31 仅在一种方法中使用的属性   64.44% -3.60%
33 33 随机分类阵列   64.44% -0.60%
34 35 使用一次性   63.23% 0.40 %
35 311 没有布尔默认   63.17% 631.70%
36 34 切换到交换机   62.99% -2.60%
37 36 纾困   62.82% -0.20%
38 39 没有类型的类型   62.59% 5.30 %
39 37 IFFectations.   62.24% -2.40%
40 41 分配了两次   61.60% 1.30 %
41 38 使用类运算符   61.55% -6.30%
42 40 全球没有课程   61.08% -5.10%
43 42 从未使用过属性   60.97% -2.00%
44 43 空功能   60.04% -1.80%
45 44 返回后别的人   59.98% -1.20%
46 45 不变的课程   59.87% 1.80 %
47 N / A. 表达过于复杂   59.75% 597.50%
48 46 可以使用别名   59.17% 6.10 %
49 48 检查所有类型   58.01% -1.90%
50 49 改变不限的aceeach   57.73% -0.50%
51 47 否则,如果与elsefif相反   57.67% -5.90%
52 52 可能是私人阶级不变   57.38% 3.10 %
53 53 可能是保护的类常量   57.38% 3.10 %
54 50 错误的论据数量   57.20% -3.50%
55 51 不要改变盲人var   57.20% -1.10%
56 54 未定义的常数   57.03% 7.30 %
57 57 未解决的使用   55.58% 7.10 %
58 55 include_once()使用   55.41% -4.70%
59 56 没有语言构造的括号   55.12% -7.60%
60 58 下面使用的方法   54.25% -0.90%
61 59 @ 操作员   52.98% -1.70%
62 60 未定义的功能   52.63% -3.40%
63 61 退出()使用   52.28% -4.50%
64 62 切换而不默认   52.11% 1.50 %
65 63 与concat的回声   51.47% -3.10%
66 65 未捕获的例外   51.41% 4.00 %
67 64 可能是受保护的财产   51.12% -1.20%
68 66 静态循环   50.72% -1.10%
69 67 别名使用   50.20% -3.30%
70 68 空课程   50.14% 0.90 %
71 69 常用替代品   49.21% -1.30%
72 71 使用instanceof.   48.98% 0.60 %
73 70 混合求解和插值   48.92% -1.20%
74 72 功能限制,旧式   48.75% -0.60%
75 74 同一条线上的几条说明   48.00% -2.70%
76 73 使用=== null.   47.94% -6.90%
77 77 循环中没有array_merge()   47.65% 0.90 %
78 75 空指令   47.48% -3.20%
79 78 可以是类型的   47.19% 1.10 %
80 76 重复正则表达式   46.67% -10.70%
81 86 逻辑到in_array   46.49% 33.30%
82 79 strpos() - 比较   46.38% 0.10 %
83 80 字符串可以保持变量   45.22% 1.00 %
84 81 可以使用短分配   44.64% -1.80%
85 82 不匹配的三元替代品   44.29% -1.80%
86 83 使用const.   43.71% -5.20%
87 85 未定义的属性   43.48% -3.30%
88 87 从对象调用静态方法   42.73% -3.10%
89 90 无用的界面   42.61% 4.60 %
90 88 应该使用array_column()   42.21% -1.20%
91 89 应该键币   42.15% -0.60%
92 92 未定义的界面   41.74% 6.60 %
93 91 未使用的功能   41.11% -1.50%
94 93 可能是阶级常量   41.05% 0.90 %
95 94 返回true false.   40.76% -1.40%
96 95 使用random_int()   40.53% -1.30%
97 98 空块   40.41% 3.40 %
98 96 未定义的类常数   40.35% 1.10 %
99 97 预处理阵列   40.24% 1.70 %
100 100 未使用的使用   39.95% 1.80 %
101 99 没有substr()一个   39.89% -0.60%
102 152 令人困惑的名字   39.49% 142.90%
103 101 双指示   39.37% 1.40 %
104 103 双重分配   38.91% -0.90%
105 102 忘记了可见性   38.67% -3.30%
106 104 无法访问的代码   38.50% 1.00 %
107 105 可以是可谴责的   38.39% 2.90 %
108 106 与布尔斯的严格比较   37.63% -2.40%
109 107 时间戳差异   36.30% -1.40%
110 110 逻辑应该使用符号运算符   35.78% -0.70%
111 109 使用FunctionCall.   35.55% -3.00%
112 108 全球使用   35.55% -5.30%
113 111 无用的检查   35.37% -2.40%
114 112 无用的指示   35.26% 1.30 %
115 113 如果有相同的条件   34.85% -2.20%
116 114 可以使用自我   34.68% -3.30%
117 84 现代化空虚与表达   34.56% -96.70%
118 120 未解决的instanceof.   34.27% 6.20 %
119 115 可以使用__dir__   34.16% -4.40%
120 116 未使用的静态方法   34.10% 1.60 %
121 123 没有公共访问   33.75% 10.60%
122 117 重复打印()   33.52% -3.00%
123 118 错误的参数类型   33.52% -1.80%
124 122 HTMLENTITITY呼叫   33.41% 3.60 %
125 121 没有返回使用   33.35% 0.60 %
126 119 未使用的常数   33.29% -3.60%
127 124 大学教师’t Change Incomings   32.42% 0.20 %
128 126 班级应该是ocramius的决赛   32.13% 5.70 %
129 125 var_dump()… Usage   32.02% -0.80%
130 128 应该别名   31.44% 5.30 %
131 129 添加零   31.32% 5.30 %
132 130 应该使用合并   30.74% 1.90 %
133 127 未经检查的资源   30.45% -4.60%
134 132 应该使用foreach.   30.39% 3.10 %
135 133 未定义的父母   29.76% -2.60%
136 134 空的尝试捕获   29.70% 1.60 %
137 135 没有选择   29.58% 1.00 %
138 136 铸造到布尔值   29.24% 1.70 %
139 137 忘记接口   29.12% 0.50 %
140 138 只有通过引用传递的变量   28.66% 0.70 %
141 142 没有幼儿的例外   28.25% 4.90 %
142 141 多个别名定义   28.14% 3.20 %
143 140 将默认值分配给属性   28.02% 1.40 %
144 139 隐式全球   27.62% -5.60%
145 143 制作全球财产   27.15% -3.70%
146 N / A. 无条件中断循环   27.04% 270.40%
147 145 eval()使用   26.69% 1.80 %
148 144 多个常量定义   26.34% -3.50%
149 147 打印和死亡   26.17% -1.60%
150 149 避免使用stdclass.   26.17% 1.90 %
151 146 只写的变量   25.94% -4.50%
152 150 序列   25.65% -0.30%
153 153 没有直接调用魔法方法   25.65% 5.70 %
154 154 错误的可选参数   25.47% 6.20 %
155 148 没有硬表哈希   25.47% -5.10%
156 166 list()可以省略变量   25.36% 25.90%
157 151 无用的建设者   24.84% -3.60%
158 155 可以使用str_repeat()   24.84% -0.10%
159 156 无用的抽象类   24.78% 1.70 %
160 157 不匹配的默认参数   24.37% 0.60 %
161 158 对象不’t Need References   24.31% 1.80 %
162 159 一个变量字符串   24.08% 1.80 %
163 160 悬挂数组参考文献   23.85% -0.50%
164 161 没有暗示if.   23.79% 0.10 %
165 164 使用常量作为参数   23.56% 3.80 %
166 163 未使用的私有财产   23.50% 3.20 %
167 165 应该链例外   23.27% 4.50 %
168 162 未使用的返回值   23.10% -3.20%
169 167 没有直接用法   22.29% -1.20%
170 168 没有硬逻辑的路径   22.06% -2.30%
171 170 空界面   21.94% 1.30 %
172 169 不可分割的文件   21.82% -1.10%
173 171 无用的全球   21.25% -4.50%
174 173 无用的回报   20.61% -0.70%
175 174 未定义的静态::或自我::   20.09% -1.20%
176 178 在foreach中未知   19.97% 2.40 %
177 177 var.   19.62% -1.70%
178 175 可能是静态的   19.62% -4.70%
179 180 无用的交换机   19.45% -0.50%
180 188 忘记扔了   19.45% 10.20%
181 179 多个索引定义   19.39% -1.70%
182 176 多级宣言   19.22% -6.90%
183 186 班级案例差异   19.05% 3.90 %
184 183 应该使用准备好的声明   18.99% -0.30%
185 181 局部变量太多了   18.99% -3.30%
186 187 无用的铸件   18.87% 2.10 %
187 185 没有空的发行   18.70% -0.20%
188 184 已弃用功能   18.12% -6.60%
189 198 替代语法一致   17.95% 20.80%
190 191 避免get_class()   17.89% 1.20 %
191 189 无用的解开   17.77% -1.80%
192 190 没有硬表IP.   17.77% 0.00 %
193 192 逻辑错误   17.60% 0.10 %
194 194 未使用的界面   17.19% 6.10 %
195 182 开关中缺少案例   16.79% -22.90%
196 195 重新定义默认值   16.73% 1.50 %
197 193 使用对象API.   16.44% -3.20%
198 196 数组中的非常量索引   16.38% -0.20%
199 197 未使用的全球   15.92% -2.50%
200 172 $这属于课程或特征   15.28% -61.20%
201 264 大学教师t Echo Error   15.22% 119.00%
202 199 静态的非静态方法   14.59% -1.50%
203 201 一个字母的功能   14.53% 2.70 %
204 206 应该使用常数   14.18% 2.70 %
205 200 旧式建设者   14.12% -3.20%
206 203 使用完全合格的名称   14.12% 0.30 %
207 204 忘记了空白   14.07% 1.60 %
208 205 Foreach Reference未修改   14.07% 1.60 %
209 202 结果可能缺失   14.07% -0.70%
210 131 带有奇怪空间的字符串   13.43% -168.30%
211 209 相同的条件   13.37% 5.90 %
212 207 while(list()=每个())   13.20% -2.30%
213 208 分配和   13.08% -2.30%
214 210 未定义的特质   12.91% 3.10 %
215 213 必须返回方法   12.56% 7.30 %
216 211 PREG_REPLACE与选项e   12.56% 3.80 %
217 212 可疑的比较   11.98% -1.40%
218 214 未加工的价值   11.92% 3.30 %
219 217 eval()没有尝试   11.58% 3.50 %
220 216 方法的非法名称   11.58% 2.30 %
221 220 索引是int或字符串   11.17% 3.00 %
222 222 隐藏使用表达式   11.05% 4.70 %
223 219 Substr比较失败   11.05% 1.20 %
224 218 重新开发金沙上线功能   11.00% -1.70%
225 215 未知的指令名称   10.88% -5.90%
226 223 捕获覆盖变量   10.77% 3.10 %
227 221 嵌套三元   10.59% 0.10 %
228 227 依赖性状   10.48% 2.60 %
229 225 孤零零   10.36% 1.40 %
230 226 无用的括号   10.36% 1.40 %
231 224 或者死   10.24% -1.60%
232 228 已经父母界面了   10.07% -0.30%
233 271 硬编码密码   10.01% 81.10%
234 229 phpinfo.   9.95 % -0.30%
235 230 乘以一个   9.84 % 0.40 %
236 232 深刻的定义   9.49 % 0.40 %
237 231 错误的fopen()模式   9.26 % -2.50%
238 234 覆盖例外   9.20 % 1.70 %
239 233 避免括号   9.09 % -2.40%
240 235 访问受保护的结构   8.62 % 2.40 %
241 236 没有真正的比较   8.51 % 2.50 %
242 237 重新定义的班级常数   8.28 % 2.00 %
243 239 不是这样的   7.87 % 1.50 %
244 241 标量或object属性   7.75 % 2.00 %
245 240 不匹配的类型   7.70 % 0.40 %
246 238 在课堂外使用$ this   7.64 % -2.60%
247 242 倍数相同的情况   7.06 % -0.10%
248 243 条件下的状况相同   6.94 % -1.30%
249 245 未使用的特征   6.89 % 3.00 %
250 246 使用pathInfo.   6.42 % 0.60 %
251 244 没有硬件港口   6.42 % -3.50%
252 248 Unkown Regex选项   6.42 % 6.60 %
253 247 在循环中查询   6.31 % 0.10 %
254 251 具有相同名称的类,界面或特征   5.84 % 4.90 %
255 N / A. 多种类型的变量   5.73 % 57.30%
256 249 注射太多了   5.55 % 0.90 %
257 250 $这不是一个数组   5.50 % 0.90 %
258 255 自我,父母,静态外   5.32 % 3.30 %
259 254 没有魔法阵列   5.32 % 1.50 %
260 252 preg_match_all()标志   5.26 % -0.30%
261 253 __dir__然后斜线   5.09 % -0.80%
262 258 实例化抽象类   4.80 % 1.10 %
263 257 静态方法可以’t Contain $this   4.69 % -1.20%
264 256 $这不是静态方法   4.69 % -1.80%
265 259 没有自我引用常数   4.69 % 1.20 %
266 260 丢失的参考资料   4.45 % 0.00 %
267 262 模棱两可索引   4.40 % 1.80 %
268 261 太多的发现   4.34 % 0.60 %
269 263 旧式__Autoload()   4.22 % 1.20 %
270 302 变量的奇怪名称   4.11 % 40.00%
271 N / A. 可以是其他的   3.18 % 31.80%
272 265 抛出FunctionCall.   2.95 % -0.80%
273 266 空的特征   2.66 % -0.10%
274 268 crc32()可能是负面的   2.60 % 1.70 %
275 267 每个文件多个别名定义   2.43 % -0.60%
276 269 实现是接口   2.08 % 0.00 %
277 270 只有参考返回的变量   1.96 % -1.20%
278 N / A. printf参数数量   1.91 % 19.10%
279 274 访问私人   1.79 % 1.90 %
280 272 在Concat中的三元   1.79 % -1.10%
281 N / A. 实际上是零   1.67 % 16.70%
282 273 error_reporting()包含整数   1.62 % -1.00%
283 275 父母,静态或自我课外   1.62 % 0.20 %
284 276 使用System TMP.   1.62 % 0.80 %
285 277 默默地铸造整数   1.44 % 1.40 %
286 278 空名称空间   1.27 % 0.30 %
287 279 无用的决赛   1.15 % 0.80 %
288 281 非ASCII变量   1.04 % 0.90 %
289 280 常量奇怪的名字   0.92 % -0.30%
290 282 类功能混乱   0.92 % -0.30%
291 283 无效的常量名称   0.86 % -0.30%
292 285 总是积极的比较   0.86 % 0.90 %
293 286 没有空的正则表达式   0.81 % 0.40 %
294 284 foreach需要参考数组   0.75 % -0.20%
295 287 应该使用setcookie()   0.75 % 0.40 %
296 291 抛弃破坏   0.69 % 1.00 %
297 288 __tostring()抛出异常   0.63 % -0.20%
298 289 未使用的标签   0.63 % -0.20%
299 290 抽象静态方法   0.57 % -0.20%
300 292 比较比较   0.46 % -0.10%
301 293 多个相同的特征或界面   0.46 % -0.10%
302 294 投掷分配   0.40 % 0.50 %
303 296 班级互相延伸   0.34 % 0.50 %
304 295 能’t Extend Final   0.34 % -0.10%
305 303 pathInfo()返回可能有所不同   0.17 % 0.60 %
306 298 在其命名空间之外创建的常量   0.11 % 0.00 %
307 299 完全合格的常数   0.11 % 0.00 %
308 300 哈希算法   0.11 % 0.00 %
309 301 空名单   0.11 % 0.00 %
310 297 左侧没有参考   0.11 % -0.60%
311 N / A. 标记可调用   0.05 % 0.50 %
312 304 负电力   0.05 % 0.00 %
313 N / A. 下个月陷阱   0.05 % 0.50 %
314 307 短打开标签   0.00 % 0.00 %
315 308 具体的能见度   0.00 % 0.00 %
316 309 打破外面循环   0.00 % 0.00 %
317 310 func_get_arg()修改过   0.00 % 0.00 %
318 305 常量的奇怪名称   0.00 % -0.50%
319 312 实施方法是公开的   0.00 % 0.00 %

史诗方法

这“exakat php编码指数”,AKA Epic表示审核金沙上线代码时静态分析规则报告的频率。评级越高,报告问题的概率越高。评分越低,罕见是问题。

这种普及是通过分析1730个开源项目,使用金沙上线 7.1来构建。 exakat报告的任何问题都会使项目计入受影响。只有当项目报告没有问题时,它只被算作错误。

 

EPIC常见问题解答

  • 我可以重用文章还是在我的代码中重用这些结果?
    Yes. Simply mention ‘//178.62.231.40’ as the source, and may be the month of publication (Current is 11/2017
  • 有电脑可读版本吗? 
    这exakat php编码指数 is 可用作json. .
  • 索引如何处理假阳性?
    误报只是人性化的。通过报告错误和信息来帮助我们减少假阳性以删除它们。
  • 为什么一些规则下降到0? aren.’t they useless?
    一些分析需要旧版本的金沙上线,而索引适用于更新的金沙上线版本(此刻)。因此,这些分析将DWWindLE在排名和消失的底部。

 

2 thoughts on “exakat.code index (November 2017)

  1. pingback: exakat.1.2.1 review - Exakat

  2. pingback: exakat.1.2.4 review - Exakat

评论被关闭。