[請益] 代問:如何寫出讓人看不懂的Python程式碼?

作者: ruthertw (小葉老大)   2021-08-12 14:03:36
繼上集,
https://www.ptt.cc/bbs/Gossiping/M.1628230251.A.F0C.html
朋友被指導教授要求給博後論文草稿和實驗程式碼之後,
朋友除了使用推文有建議的拖,慢,等戰術讓博後拿不到,
78博後對我朋友出了新招,
博後要求近期和我朋友一起坐在電腦前面交接程式碼,
也要我朋友講解程式碼給他聽,
跑程式給博後看.
我朋友想出一招,
盡量寫出讓博後看不懂的Python程式碼,
講解時亂唬爛一通,
讓博後完全看不懂,也搞不懂整個實驗程式內容.
但是大家都知道Python語言的特性就是程式碼簡單,易懂,能快速理解,
要寫的隱諱艱深難懂,
似乎沒這麼容易?
我朋友拉著我找了很久,
我們都找不到怎麼才能把Python寫的難懂,
而且還可以跑實驗.
所以,
有沒有
世界上存在一本高手秘笈,
可以把Python寫的讓博後完全看不懂?
先代朋友感謝大家的幫忙~
作者: MOONY135 (談無慾)   2021-08-12 14:07:00
我不知道該表示甚麼 該說這跟軟體版無關嗎只要他說一句他看不懂 你就不要想畢業了 就那麼簡單砸自己的寶貴時間陪他玩是最笨的做法
作者: BlacksPig (Black Handsome s Pig)   2021-08-12 14:10:00
八卦板不是很多人回了?
作者: MacPerson (Gary)   2021-08-12 14:11:00
不註記type hint, docstring, annotation 日子一久 連我本人都不知道當初在寫什麼
作者: joekaojoekao (bingroom)   2021-08-12 14:16:00
用一堆蝦機巴 decorator 和 wrapper 保證懵
作者: acgotaku (otaku)   2021-08-12 14:20:00
開源架構的重要性,用架構有時不會更好,但強制架構一制性
作者: ntpuisbest (阿龍)   2021-08-12 14:38:00
浪費自己時間,我程式碼都放在HACKMD開放的
作者: viper9709 (阿達)   2021-08-12 14:50:00
推一樓
作者: DarkIllusion (′・ω・‵)   2021-08-12 14:56:00
同意一樓 你在浪費時間
作者: Murasaki0110 (麥當勞歡樂送)   2021-08-12 15:13:00
結局就是他多凹你3天講到他懂
作者: DCTmaybe (竹竹人)   2021-08-12 15:14:00
這一篇有13p我覺得太多了
作者: aaa1234136 (淡水活魚)   2021-08-12 15:14:00
編譯後再反編譯 程式碼再交出去
作者: lturtsamuel (港都都教授)   2021-08-12 15:31:00
教你大絕 把方法用closure存在一個map裡面 要呼叫的時候就用字串查找出來 而且字串不要是字面常量 最好傳遞好多層中間拼接或取代搞得面目全非
作者: sxy67230 (charlesgg)   2021-08-12 15:31:00
decorator跟wrapper又不難懂,應該說真的有心沒有難懂的東西啦
作者: lturtsamuel (港都都教授)   2021-08-12 15:33:00
更高級方法 用higher order function把多個閉包組合起來 傳來傳去 讓人無法從code想像現在呼叫哪個函式
作者: Kazimir (Kazimir)   2021-08-12 15:33:00
python要寫得很難懂 就是要深刻的練習一行文的精髓
作者: sxy67230 (charlesgg)   2021-08-12 15:35:00
只要IO明確,說真的有能力的蝦雞巴的code都可以看得懂,還不如不要搞自己,至於沒能力的你就算寫得很好,他一樣也會一直找你找到你煩。
作者: followwar (嫌疑犯X的獻身)   2021-08-12 15:37:00
幹嘛搞自己 畢業咖實在 你還可以收集證據
作者: lturtsamuel (港都都教授)   2021-08-12 15:44:00
另一個思路 去看一下什麼是 Fragile base class problem,一個物件導向的經典失敗案例,把你的類別架構弄得很容易發生那種問題讓父類別的函式無意義地修改自身狀態 這麼一來只要繼承者呼叫函式的順序稍微有錯就會導致很難debug的問題
作者: gs8613789 (Shang6029)   2021-08-12 15:52:00
把OOP用的超級複雜,每個function都封裝一堆,同樣的變數名字一堆不同型態
作者: NCUking (中大王)   2021-08-12 15:53:00
超長函式加上破英文命名就夠了啦
作者: lturtsamuel (港都都教授)   2021-08-12 15:55:00
上面兩種思路組合起來 所謂內部狀態 是不是也可以是閉包呢? ^^
作者: testPtt (測試)   2021-08-12 15:56:00
import ctypes and call asm
作者: Louis5213 (slash5213)   2021-08-12 16:07:00
變數都用123abc
作者: elements (Helianthus annuns)   2021-08-12 16:13:00
不要以為自己寫的 quality 好到人家看的懂,就算一行一行教過還是會忘記啦
作者: Cprimer (~~)   2021-08-12 16:27:00
不如認真寫leetcode :D
作者: sherees (ShaunTheSheep)   2021-08-12 16:34:00
https://youtu.be/MTCYhbfSAuA雖然我是覺得不要搞自己 趕緊畢業比較實在啦
作者: hpyhacking (駭人聽聞)   2021-08-12 16:58:00
請購買忍者程式碼一書
作者: sooge (老衲)   2021-08-12 16:58:00
這裡都python 大神是不是一堆奇奇怪怪的東西
作者: hpyhacking (駭人聽聞)   2021-08-12 17:00:00
https://lenchen.medium.com/忍者程式碼-ninja-code-cc5e4a70bafc
作者: bheegrl   2021-08-12 17:12:00
自信點,就算你認真寫他也不一定看得懂
作者: zxcasdjason1 (nice_Sky)   2021-08-12 17:40:00
這篇在幹嘛 快被笑死 XD
作者: brianhsu (墳墓)   2021-08-12 17:41:00
搞自己幹嘛,快點畢業才是是正途
作者: wahaha279 (哇哈哈:3)   2021-08-12 17:47:00
去讀ninja code
作者: BRN ( )   2021-08-12 18:05:00
生命應該要浪費在更爽的事情上面 XDDD
作者: xoy232 (鬼島希特勒)   2021-08-12 18:30:00
cython 搭配編譯特殊指令配c++
作者: MOONY135 (談無慾)   2021-08-12 18:45:00
天下第一印*大會正式開始
作者: soccer103 (Ferrari)   2021-08-12 18:52:00
看了前文:112理工讀到博士還走台灣前端..實在浪費教學資源前文看完覺得隨便交接不要亂反正他一定也看不懂
作者: WaterLengend (Leeeeeeeeooooooo)   2021-08-12 19:25:00
認真回,我公司外包給中國碼農的案子的特點是不會用DI,不會用interface,到處都用複製的一大堆,delivery/usecase/repository全部混在一起,裡面還會包private variable當作flag去做判斷,最後封裝起來給外層使用,給你參考,不用謝了。
作者: brianhsu (墳墓)   2021-08-12 19:28:00
真的,曾經有份工作要接手對岸的程式碼,本來進去前也覺得沒什麼,但我看到程式碼後就下定決心要離職了。
作者: WaterLengend (Leeeeeeeeooooooo)   2021-08-12 19:35:00
對了,還有用一堆public var宣告在最外層,大家都用得到,struct裡面指標包著另一個sturct包了好幾層,裡面還會有陣列,動不動就index out of range。從package name到variable name可以命名的全部亂命名,有縮寫,有羅馬拼音。到處都用hash map沒看程式碼真不知道資料結構是什麼。一個package可以搞定的事情複製成好幾份,最後隨便要改就是import cycle,連complier都不行,啾咪。
作者: lukelove (午睡)   2021-08-12 20:26:00
class convention把他弄的像function 實作讓他call起來亂七八糟 data handler讓他其慢無比 能向量化的全讓他for loop
作者: charliebitme (查理咬我)   2021-08-12 20:30:00
用pycrypto把專案大包小包 騙博後那是call外部的?
作者: newking761 (J三小)   2021-08-12 20:59:00
把他改成C++
作者: pttano (pttano)   2021-08-12 21:01:00
把關鍵function build成so file不給看啊
作者: splitline (台ㄎ廢文王)   2021-08-12 21:54:00
改到看不懂很簡單啊,難在你要讓別人看不出你在刻意讓他看不懂
作者: viper9709 (阿達)   2021-08-12 22:20:00
推文的經驗好恐怖XD
作者: Gaogaigar   2021-08-12 23:55:00
光是命名用羅馬拼音+縮寫就很屌了 因為跟台灣拼法不同還是而且還是C++
作者: mathrew (Joey)   2021-08-13 05:11:00
坦白說,你正常寫,對方也不見得看得懂,你該做的是收集證據,然後畢業後再去檢舉
作者: k798976869 (kk)   2021-08-13 07:38:00
先畢業最重要 要掛就給他掛啊 年輕人就是年輕人
作者: baileegunlin (樹)   2021-08-13 07:48:00
obfuscator
作者: hasroten (賦洛流)   2021-08-13 08:56:00
ninja style
作者: ssd860505da (JAGER)   2021-08-13 09:18:00
文件開起來只有一行 所有斷行都用 \變數名稱取超級長、亂碼加無意義的混亂code所有code style違反PEP8保證看了直接爆氣但是其實可以black .直接校正就是了或是把code分散在很多module,import來import去,分很多nested,加深trace code的難度然後import * 讓他不知道你在import什麼
作者: a1982213 (Hasta la vesta!)   2021-08-13 11:12:00
你朋友要畢業了嗎 如果是的話 反正講了不會還是不會 就只教那一遍就好
作者: NCTUFAIWEN (交大廢文王子)   2021-08-13 11:58:00
浪費人生在搞這些沒有比較賺啦,到最後一定是你最輸
作者: abola921 (南港金城武)   2021-08-13 16:27:00
給修哲學的博後來review就好,應該不會討論扣
作者: r40491101 (Willian)   2021-08-14 18:35:00
可是看不懂,通常都是交接的人的問題……很難歸類到被交接人的智商問題……多半是交接人的無意或是蓄意……QQ
作者: bmiss (花草七下)   2021-08-14 19:27:00
即便簡單,只要長一點,腦子就不靈光了
作者: superpandal   2021-08-16 00:49:00
以上可以證明這行在表現上很看機運的 大家都不希望被人坑當然隨便解是可以的 只是就與寫文檔一樣 不喜歡寫文檔也不喜歡別人不寫文檔這也是需要閉源的原因之一 誰會幫助曾經整蠱過自己的人

Links booklink

Contact Us: admin [ a t ] ucptt.com