V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
shijingshijing
V2EX  ›  程序员

如何尽量增加 Python 代码行数,在不改变功能的前提下,代码尽量复杂化

  •  1
     
  •   shijingshijing · 359 天前 · 12902 次点击
    这是一个创建于 359 天前的主题,其中的信息可能已经有所发展或是发生改变。

    RT ,帮朋友问的,他 6 月毕业一直空档,现在好容易找了个传统公司,偏制造业的那种,开发就几个人,老板定 KPI 主要是看代码行数和文档字数。老板的思路是,我提一个功能,朋友帮他实现,然后按代码行数来算这个功能的复杂程度和绩效。老板虽然不懂编程,但是还是很精明的,会给让他们自己排期,定节点,然后评审。项目开始和结束的时候,都会找他懂技术的朋友帮忙看一下。

    他们老板和老板的朋友不傻,所以塞注释那种肯定是不行的。我帮他在网上找了一堆 Python 代码混淆的工具,Pyobfuscate 那种把函数名改成 lllllll 的,肯定也不行。但评审也不会太深入,塞点无效代码应该是可以的,就是太费脑子了。

    目前我和他两个臭皮匠总结了下面几个可行的方法:
    1 ,所有变量都尽量单独显式定义并赋值,美其名曰初始化。
    2 ,能不写在一行的,尽量不写在一行。
    3 ,能封装成函数的,尽量封装成函数,既增加行数,还增加复杂度。
    4 ,tkinter 写的窗口什么的,即使是有默认值,也单独拿出来重新赋值一下。

    效果也是有的,一个 200 多行的 Python 脚本干到了 500 行,但是还是不够,朋友的意思是,最好是随着老板提出的功能线性增加,这样符合他的预期。大家还有什么好办法,集思广益,帮帮他。

    第 1 条附言  ·  358 天前
    建议提桶跑路和劝老板改 KPI 标准明显行不通的,现在工作市场什么情况大家都清楚,朋友大龄码农,6 月空档到现在,这个工作他当然也不满意,上有老下有小,有些事情也是身不由己,还是说点现实的吧。

    还有,这个也不算什么道德违规吧,保证功能完整,满足老板需求,自己利益最大化,没什么不对。道德上比那些搞医疗广告、App 偷个人隐私的还是高不少。
    102 条回复    2023-12-02 11:00:58 +08:00
    1  2  
    v2exe2v
        101
    v2exe2v  
       357 天前
    我怀疑这个朋友就是你自己
    Dganzh
        102
    Dganzh  
       357 天前   ❤️ 2
    1.不要用列表推导式
    2.不要用三目运算符
    3.不要用 lambda 函数
    4.定义类时所有属性定义为私有,自己写 set 、get 方法,或者 @property 装饰器
    5.dict 每次取值时都先判定是否存在再取值
    6.忘记 min 、max 、sum 这些函数,每次用的时候手戳
    以上这些只要改变你的编程习惯即可,不影响代码逻辑,代码量都大大增加了,基本能一行变 3 行了,而且也看不出来任何问题。
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2517 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 02:33 · PVG 10:33 · LAX 18:33 · JFK 21:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.