PTT推薦

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

看板Gossiping標題[問卦] 代問:如何寫出讓人看不懂的Python程式碼?作者
ruthertw
(督人無數就是我)
時間推噓85 推:94 噓:9 →:76

繼上集,
https://www.ptt.cc/Gossiping/M.1628230251.A.F0C

朋友被指導教授要求給博後論文草稿和實驗程式碼之後,

朋友除了使用推文有建議的拖,慢,等戰術讓博後拿不到,

78博後對我朋友出了新招,

博後要求近期和我朋友一起坐在電腦前面交接程式碼,

也要我朋友講解程式碼給他聽,

跑程式給博後看.


我朋友想出一招,

盡量寫出讓博後看不懂的Python程式碼,

講解時亂唬爛一通,

讓博後完全看不懂,也搞不懂整個實驗程式內容.


但是大家都知道Python語言的特性就是程式碼簡單,易懂,能快速理解,

要寫的隱諱艱深難懂,

似乎沒這麼容易?


我朋友拉著我找了很久,

都找不到怎麼才能把Python寫的難懂,

而且還可以跑實驗.


所以,

有沒有

世界上存在一本高手秘笈,

可以把Python寫的讓博後完全看不懂

的八卦?


先代朋友感謝大家的幫忙~

--

※ PTT 留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.71.215.133 (臺灣)
PTT 網址

aure0914 08/12 13:58hello world

vowpool 08/12 13:58你壞壞

loveyou9527 08/12 13:59這太容易了八

LukeSkywaker 08/12 13:59我連我上個月寫的扣都看不懂了

miaudele 08/12 13:59加密啊

tetani 08/12 13:595樓一邊被肛 一邊寫python程式

vowpool 08/12 13:59教你一招 不要跟別人說是我教的喔

tetani 08/12 13:59改10樓

LukeSkywaker 08/12 13:59這哪有什麼難的

vowpool 08/12 14:00變數名稱亂取 就看不懂20%了

kusork 08/12 14:00加一堆贅詞、沒用處的函數 20字以上的變數

vowpool 08/12 14:01樓上太狠了吧 那我再加碼一招

※ 編輯: ruthertw (111.71.215.133 臺灣), 08/12/2021 14:01:52

agreerga 08/12 14:01不要縮排

Mchord 08/12 14:01寫c然後用Python call阿,source code砍

Ceferino 08/12 14:01把關鍵的東西包成dll

Mchord 08/12 14:01

vowpool 08/12 14:01有計算式的話 全部寫在同一行 越長越難讀

ChrisJericho 08/12 14:02亂改架構 名字亂取很容易

botnet 08/12 14:02就改成C++寫,一堆呼叫含式讓他看不懂

carterdunk 08/12 14:02關鍵字:編譯

kantoloser 08/12 14:02抓一隻猴子來敲鍵盤 總有一天寫出來

cka 08/12 14:03全部寫注音

darkMood 08/12 14:03就一些垃圾程式碼,值得花心思喔

chang0206 08/12 14:03py2exe

darkMood 08/12 14:03人生還很長,有這個必要嗎?

xx5244 08/12 14:04有必要嗎,看到是你寫的,根本沒人想看

gymfantasy 08/12 14:05他有心要讓他過 做再多也沒用吧

snow3804 08/12 14:05變數名稱取代成AA,BB,CC,保證一星期後就

weltschmerz 08/12 14:05一直呼叫 重包命名函式

ad1339 08/12 14:05太有自信了吧,先確定原版的有人能看懂吧

realmeat 08/12 14:06沒人想看你的code別浪費時間

gymfantasy 08/12 14:06不如找個地方設timer 讓他示範爆炸

chh1470 08/12 14:06把程式碼全部齊頭

eterbless 08/12 14:06MACRO_NAME

drinkwaterha 08/12 14:07不要呼叫函數

SeaForest 08/12 14:07幫他縮排整理一下囉

ringil 08/12 14:07用c++寫lib然後py引入啊顆顆

lylu 08/12 14:07google 忍者程式碼

WTF1111 08/12 14:07讓他跑很慢應該也不少高手可以

mercurycgt68 08/12 14:08PHP: 嫩

littlemame 08/12 14:08弄一堆遞迴跟判斷式+不要斷行

flyboring 08/12 14:08宣告用[a-z][0-9]

xxxxpollo 08/12 14:08善用遞迴跟錯誤的註解還有沒有意義的

xxxxpollo 08/12 14:08變數

gn0111 08/12 14:09你確定這不是在搞自己嗎

NCUking 08/12 14:10問鴇鴇處長呀

zombiechen 08/12 14:10module全部自己改寫

jyunwei 08/12 14:10看一段發現問題很多就被退了吧

breakfastboy 08/12 14:10import numpy as plt

youlieme 08/12 14:11取變數名時1 I l混用

taric888 08/12 14:12變數用英文+數字隨便湊一湊就夠崩潰了

snakebite 08/12 14:14交接不過被退回來不是搞死自己而已嗎

tim32142000 08/12 14:17看起來一樣的縮排 其實是空白跟tab混

james80351 08/12 14:17import pandas as uber

Xmen5566 08/12 14:1813樓讚喔!

geniusofgod 08/12 14:19變數名稱亂設 來回呼叫 關鍵包成exe

Xmen5566 08/12 14:19ctrl+空白鍵,用全形空白。保證debug哭

Xmen5566 08/12 14:20出來

MorganLee 08/12 14:24一行縮排用tab 下一行用space以此類推

iKelly 08/12 14:24變數用亂數取名 小功能呼叫一大串函式

lavign 08/12 14:31source code先編碼再交出去

mastoid 08/12 14:31變數名稱 x1 x2 x3 x4....x100

mastoid 08/12 14:32亂呼叫沒意義的函數 每五行就亂插

taylor0607 08/12 14:32你是不是想害他畢不了業

harryron9 08/12 14:32import as 亂寫 之後別放在開頭

unsocial 08/12 14:33叫那個博後自己跟你朋友要 然後錄音存

unsocial 08/12 14:33證 之後爆卦 讓博後之後進不了好公司

taylor0607 08/12 14:33還給假code勒

cosmite 08/12 14:33變數命名無意義就夠頭大了

lpoijk 08/12 14:36全部變數取代成0Oo

xsion 08/12 14:39全部編譯成機械碼宣告成陣列 一行jump進去

xsion 08/12 14:39執行完畢 這樣也算open source

jhbgybj123 08/12 14:40變數函數用斯拉夫語系取名

iceyang 08/12 14:40怎麼可能看不懂 都用語言的特性語法看懂

iceyang 08/12 14:40也只是時間問題而已 除非你不交code 我就

iceyang 08/12 14:41沒看過有sourceCode還能看不懂的程式

alex94539 08/12 14:45code obsfucator

Glamsight 08/12 14:51寫成 oop 然後不給流程圖 ㄟㄟ

Sacral 08/12 14:53參數名字亂寫,寫abcde

hackfox 08/12 14:54縮排空一格就好

finger213 08/12 14:54變數abcd

yangwen5301 08/12 14:55Python最容易種搞到看不懂,沒型態你

yangwen5301 08/12 14:55又把變數亂設名稱,保證難懂

glamourboy 08/12 14:55包成dll 再用API去call 再用Service

iyawen 08/12 14:56變數取亂七八糟又長又相似就很難讀了

Sacral 08/12 14:56明明有內建函式但還是使用套件,然後一樣

Sacral 08/12 14:56功能的部分跟套件交換使用

zjes40604 08/12 14:56i=i++(++i)

TCPipv6 08/12 14:57時間真的很多

huk40199 08/12 14:58每一行都倒著寫啊

poison5566 08/12 15:03全部 call 在一行阿

wang2346581 08/12 15:07垃圾程式碼自己刪掉好嗎?別浪費別人

Siika 08/12 15:07Class建一堆 分很多檔案

Siika 08/12 15:07然後亂繼承 一個一個trace就累死人了

hosword 08/12 15:08overlay 常用物件,global 跟 local物件大

hosword 08/12 15:08鍋炒

June0105 08/12 15:12換實驗室吧 讓自己的心情一直很差也不

June0105 08/12 15:13是辦法 真的吞不下去就換個地方做研究

June0105 08/12 15:13總比讓壞人得逞 自己又氣不過內傷...

xhung 08/12 15:15博後有廢到看別人的東西 還分不出假貨?

t81511270 08/12 15:17包成dll 說這是專利就好惹==

KillLakers 08/12 15:18就全刪掉阿 為啥一定要跑成功給他看??

daniel199766 08/12 15:19import numpy as pd

silverair 08/12 15:19代碼混淆啊,可以弄到作者都看不懂

The4sakenOne 08/12 15:20一堆反社會人格 笑死

neo5277 08/12 15:20全部寫成反射

t81511270 08/12 15:21我return 你的 return

qwe369875421 08/12 15:22每個 def 都用class包阿 然後全部互

qwe369875421 08/12 15:22相繼承

smfy 08/12 15:22算了阿 就先留下證據 等畢業後了再爆出來

hey1590 08/12 15:23函式包函式再包函式 然後每個函式功能不

hey1590 08/12 15:23明確

YeaPa 08/12 15:24遞迴弄多、複雜一點,三五個function circu

YeaPa 08/12 15:24lar call,執行的flow越亂越好

hey1590 08/12 15:24註解跟實際做的事情兜不上就好

firingmoon 08/12 15:25寫一堆自定義函數阿

raok 08/12 15:25變數改成無意義的名稱 包dll 註解亂調

DOOT 08/12 15:25這篇推文怨念有點重

YeaPa 08/12 15:25宣告 global 變數,在其他函式用同名的loca

YeaPa 08/12 15:26l 變數最好迴圈裡面再用同名另一個變數

DOOT 08/12 15:30其實光變數命名不含意義就搞死了ex.x1~x99

YeaPa 08/12 15:31亂取變數名會被發現在亂搞吧,這樣不能畢業

YeaPa 08/12 15:31就本末倒置了

YeaPa 08/12 15:33最好就是讓博後以為他懂,改下去爆掉不知道

YeaPa 08/12 15:33爆在哪

soccer103 08/12 15:33建議買無暇程式碼來看然後反者做

hey1590 08/12 15:35乾脆改成執行完會偷偷修改原始碼好了

alasa15 08/12 15:43我是覺得沒必要 感就算完整的送給他他也

denyy555 08/12 15:43變數一律小寫

alasa15 08/12 15:43會弄亂

PETER8425 08/12 15:46呼叫來呼叫去

elic2577 08/12 15:57關鍵程式包dll有效,以後沒人能動

WindSucker 08/12 16:00外包中國工程師一份

miminiania 08/12 16:03找看有沒有混碼器 或是自己把變數用

miminiania 08/12 16:03類凱撒密碼混淆

Happpppy 08/12 16:05幹嘛要搞人?

luke8197 08/12 16:14所以…沒有版控?不然怎麽改都沒用吧

C3X 08/12 17:12裡面寫幹你娘教授 然後說是博後加上去的

x94fujo6 08/12 17:12全部都寫成一行啊= =

x94fujo6 08/12 17:15python一些高階語法可以寫得很難看懂

jackroy301 08/12 17:46用裝飾子通通包一遍

jack168168tw 08/12 17:52我三天前自己寫的扣今天就看不懂

eldar 08/12 18:09變數用字母+底線 混用大小寫 aAa a__ aAA_

darkholy 08/12 18:10再寫個加密程式就好了,變成亂碼

Benetnasch 08/12 18:12先把變數名稱設定好在最前段,之後

Benetnasch 08/12 18:12貼在記事本再把變數取代掉= =後面的

Benetnasch 08/12 18:12程式不斷互call就行

brandon40905 08/12 18:17變數都設iiii(大寫)跟llll 用不同

brandon40905 08/12 18:17的數量去分

Atwo 08/12 18:59不要寫註解

play714 08/12 20:24你用不是英文的字母來寫程式就可以了

blueweak 08/12 20:50嫩才用亂碼當變數 當然是要混淆字義

swingingbear 08/12 20:55垃圾學長大概跟教授特殊交友吧

mmmmei 08/12 21:01假設一個變數應該要是浮點數 初始定義成l

mmmmei 08/12 21:01ist str之類的 中間再默默改成你要的浮點

mmmmei 08/12 21:01

wario2014 08/12 21:02全部用regular expression寫

zero00072 08/12 21:48用分號。喔不只,試試看「希臘問號」。

fghdfh 08/12 22:21這種事社會上多的是~哀 看開點比較快

allmwh 08/12 23:12超容易 亂傳全域變數 function不decouple

allmwh 08/12 23:12讓他de到爆氣

TzuYuTwice 08/12 23:12直接變數名稱亂取就看不懂了

tinlans 08/12 23:15不要浪費時間搞這些,證據收集好等畢業

tinlans 08/12 23:15再去爆料

s0914714 08/12 23:15把內建的函數用dunder method改掉

a761007 08/12 23:21寫一些炫技的東西就可以

toast122 08/12 23:33import numpy as asshole

zizilai 08/12 23:51你怎麼會有你寫得很好懂的錯覺

IsadQQ56 08/12 23:56import numpy as plt; import pandas as

Plot3D 08/13 00:28Python 大部分狀況可以近似English,少數

Plot3D 08/13 00:28狀況如pandas不會發生難以閱讀的狀況,如

Plot3D 08/13 00:28果有,把那個人抓出來打

oberonz 08/13 08:10博士畢業超過10年了還在做前端很誇張,

oberonz 08/13 08:10做到被火更誇張

c88tm 08/13 11:26套一堆沒意義的pattern啊 over design最高

k078787878 08/13 11:31變數一堆亂命名一堆無意義的判斷式

EricTao 08/13 13:59把數字跟Hex string轉來轉去,應該可以浪

EricTao 08/13 14:00費他一個月

EricTao 08/13 14:00然後變數名字取得都長差不多