橡皮擦,一个逗趣的互联网高级网虫。
纵横 IT 职场十年,我终于掌握了代码下毒的精髓,这些高级技巧的背后,都是最朴实无华的基础知识。
五毒真经
- 低毒
- 中等毒
- 高毒
- 剧毒
- 无形之毒
文中涉及代码采用 Python 编写
低毒
通过异常返回信息,直接给用户抛出解决方案,即提高的了编码速度,也对用户有个交代,代码响应速度还快。
例如,客服系统中,当接到用户投诉时,你可以这样下毒。
# 客户反馈函数
def feedback():
return "您的投诉已经收到,感谢您的建议,我们认真整改!"
投诉是您的事,代码我说了算。
但是,我们的目的可不是给用户下毒,而是给代码下毒。
那将上述场景,复制到合作研发项目中。
甲乙两个部门合作开发,乙部门研发人员,当程序异常时可以直接返回一段文本,例如:联系老孟(甲方公司研发人员)
# 调用乙方某函数
def call_func():
# do something
# 此处省略 100 行代码 ……
#
try:
# do something
except:
raise "如出现异常,请联系老孟(XXX公司)"
如果你觉得上述代码,下毒点太容易发现了,肉眼可见,那没啥问题,修改成如下代码即可。
try:
# do something
except:
raise "\u5982\u51fa\u73b0\u5f02\u5e38\uff0c\u8bf7\u8054\u7cfb\u8001\u5b5f\uff08\u0058\u0058\u0058\u516c\u53f8\uff09"
使用 Unicode 编码转换,朴实的技巧往往隐藏在基础知识中。
中等毒
变量中下毒技术,成本极低,效果极好。
for _ in range(10):
for __ in range(20):
print(_,__)
上述代码只是一个小 Tops,掌握该技术之后,你写的代码自带加密效果。
summer = "tianqi change"
sumner = "tianqi no change"
sunmer = "tianqi no no change"
这种变量的精细化区分,让别人阅读代码的时候,可以不断锻炼注意细节的能力,有助于其快速提高其眼镜度数。
高毒
熟练的使用 Python 里面的列表生成器,例如下面的代码,毒性十分霸道。
shuiguos = ["苹果", "橘子", "香蕉", "梨子"]
xuhaos = [1, 2, 3, 4]
jiages = [12.0, 7.0, 9.0, 10.0]
my_list = [(x, s, j) for s in shuiguos for x in xuhaos for j in jiages if j < 10]
print(my_list)
变量使用汉语拼音 + 英文复数。
生成器直接循环三层以上,建议无限制的叠加,使用后,保证阅读者连连惊叹,嘴里迸发出高低不平的叠词词:
“卧(4 声)X”, “卧(4 声)X”, “卧(2 声)X”, “卧(2 声)X(3 声)?”
上面的变量 X 表示一种植物。
不应该,不应该,写文章激动了,敬业、诚信、友善。
剧毒
如果上述的技巧无法满足你,那只能拿出神器 eval
函数了,掌握它,你可以玩转 Python 。
name = "橡皮擦"
s = "name"
name = eval(s)
print(name)
一段简简单单的代码,但你要将其放到功能里面,效果棒极了。
这就是,最平常的代码,最能产生巨坑的操作,如果字符串满足不了你,可以修改成下面的样子呀。
x = "橡"
y = "皮"
z = "擦"
s = '[x,y,z]'
# 此处有几十行代码
print(eval(s))
毒性还不够强?继续修改,基础越好、代码越(),结合高毒写法,得到下述代码。
shuiguos = ["苹果", "橘子", "香蕉", "梨子"]
xuhaos = [1, 2, 3, 4]
jiages = [12.0, 7.0, 9.0, 10.0]
bat = eval(
"[(x, s, j) for s in shuiguos for x in xuhaos for j in jiages if j < 10]")
print(bat)
运行之后,我在电脑前就听到了还不够的声音,那下面的呢?
shuiguos = ["苹果", "橘子", "香蕉", "梨子"]
xuhaos = [1, 2, 3, 4]
jiages = [12.0, 7.0, 9.0, 10.0]
bat = eval("[(x, s, j) for s in shuiguos for x in xuhaos for j in jiages if j < 10]", {
"xuhaos": [5, 6, 7, 8], "jiages": [12.0, 7.0, 9.0, 10.0]}, locals())
print(bat)
无形之毒
最高级的下毒技巧是什么?那必然是自己都不知道自己在下毒。
很多时候,你并不想在代码里面下毒,但是因为菜(挨打脸)莫名下毒,这就是最高级的技巧,心中无招,手中无招。
- 不小心,重载系统函数,让队友莫名其妙;
- 不小心,重载操作符,让队友抓紧吃药;
- 不小心,用了全局变量,让队友直呼挖草;
- skr~
我是橡皮擦,一个逗趣的互联网高级网虫。
关注我,边学技术,边开心一笑。
评论区说出你的独门秘籍,或者中毒经历吧
爱护同事,莫下毒
相关阅读
- Python 爬虫 100 例教程,超棒的爬虫教程,立即订阅吧
- Python 游戏世界(更新中,目标文章数 50+,现在订阅,都是老粉)
- Python 爬虫小课,精彩 9 讲
今天是持续写作的第 114 / 200 天。
如果你想跟博主建立亲密关系,可以关注同名公众号 梦想橡皮擦,近距离接触一个逗趣的互联网高级网虫。
博主 ID:梦想橡皮擦,希望大家点赞、评论、收藏。