前情提要 闲逛至老哥博客文章 "可别在代码中写那么多魔法值了,脑壳疼!" 遂模仿,学习一下 markdown 语法写博客 1. 前言 重构老代码中遇到了不少类似下面这种写法: 脑壳疼!从 Java 语法上无懈可击,但是从业务上却让人无法理解其中 和`1`的含义它们统称为 魔法值 。对于上面的代码我们 ...
分类:
其他好文 时间:
2020-05-01 18:44:11
阅读次数:
75
教主最近学会了一种神奇的魔法,能够使人长高。于是他准备演示给XMYZ信息组每个英雄看。于是N个英雄们又一次聚集在了一起,这次他们排成了一列,被编号为1、2、……、N。每个人的身高一开始都是不超过1000的正整数。教主的魔法每次可以把闭区间[L, R](1≤L≤R≤N)内的英雄的身高全部加上一个整数W ...
分类:
其他好文 时间:
2020-04-29 10:50:46
阅读次数:
60
解题思路 打开直接源码,没别的,审就完事了 代码审计 反序列化思路 1. 首先观察new了A类,然后将其序列化,经过两个函数处理后再反序列化。 2. C类中有tostring魔法方法,利用其中的file_get_contents函数读取flag.php文件 3. 触发tostring魔法方法需要字符 ...
分类:
其他好文 时间:
2020-04-26 11:10:09
阅读次数:
225
现代程序员写代码没有人敢说自己没用过泛型,这个泛型模板T可以被任何你想要的类型替代,确实很魔法很神奇,很多人也习以为常了,但就是这么有趣的泛型T底层到底是怎么帮你实现的,不知道有多少人清楚底层玩法,这篇我就试着来分享一下,不一定全对哈。。。 一:没有泛型前 现在的netcore 3.1和最新的.ne ...
分类:
其他好文 时间:
2020-04-24 09:15:45
阅读次数:
79
1. 前言 重构老代码中遇到了不少类似下面这种写法: 脑壳疼!从 Java 语法上无懈可击,但是从业务上却让人无法理解其中 和 的含义它们统称为 魔法值 。 对于上面的代码我们往往需要通过上下文推断出来逻辑,如果是非常复杂的业务或者10年前的代码那就更惨了,搞不好文档也没有。为了可读性,所以我们要尽 ...
分类:
其他好文 时间:
2020-04-23 13:48:28
阅读次数:
70
常用快捷键 ctrl+shift+L:显示快捷键帮助 mac将ctrl换成cmd ctrl+shift+r:打开资源 ctrl+o:快速outline ctrl+e:快速转换编辑器 ctrl+2,L:为本地变量赋值 alt+shift+r:重命名 alt+shift+l以及alt+shift+m:提 ...
分类:
系统相关 时间:
2020-04-23 12:38:50
阅读次数:
80
xx: 公有变量 _x: 单前置下划线,私有化属性或方法,from somemodule import *禁止导入,类对象和子类可以访问 __xx:双前置下划线,避免与子类中的属性命名冲突,无法在外部直接访问(名字重整所以访问不到) __xx__:双前后下划线,用户名字空间的魔法对象或属性。例如:_ ...
分类:
其他好文 时间:
2020-04-20 01:23:45
阅读次数:
60
A.小希的迷宫(并查集) 题意: 上次Gardon的迷宫城堡小希玩了很久(见Problem B),现在她也想设计一个迷宫让Gardon来走。但是她设计迷宫的思路不一样,首先她认为所有的通道都应该是双向连通的,就是说如果有一个通道连通了房间A和B,那么既可以通过它从房间A走到房间B,也可以通过它从房间 ...
分类:
其他好文 时间:
2020-04-17 23:23:03
阅读次数:
66
1. 【强制】不允许任何魔法值(即未经预先定义的常量)直接出现在代码中 反例: 2. 【强制】在 long 或者 Long 赋值时,数值后使用大写的 L,不能是小写的 l,小写容易跟数字1 混淆,造成误解 3. 【推荐】不要使用一个常量类维护所有常量,要按常量功能进行归类,分开维护 说明:大而全的常 ...
分类:
其他好文 时间:
2020-04-16 22:43:52
阅读次数:
141
1.之前学的(数字,字符串,布尔值) #python3中所有的数字都是int类型,字符串时str类型,列表都是list类型,元组都是tuple类型,字典是dict类型,布尔值是bool类型 #数字(int)对应的魔法: a1="123" b=int(a1) #字符串转变成数字 b=b+100 pri ...
分类:
其他好文 时间:
2020-04-16 20:56:29
阅读次数:
85