PCDVD數位科技討論區

PCDVD數位科技討論區 (https://www.pcdvd.com.tw/index.php)
-   七嘴八舌異言堂 (https://www.pcdvd.com.tw/forumdisplay.php?f=12)
-   -   [轉載〕 寫給軟體人的話, 嘴炮軟體主管的胡扯洗腦 (https://www.pcdvd.com.tw/showthread.php?t=990182)

A級黑豬肉 2012-11-12 10:50 PM



這讓我想到兩個經歷...
我曾經接了一個 Cocoa 的 case,問好作用和所需後,我寫出來的她們一堆人都要看兩個月才看的懂... 為何呢?因為中間牽扯到邏輯和直接 C code 下去寫 Cocoa... 八個 variable 因為是邏輯所以真的只能用 a~h 做命名,一堆 compare 像是 a = b 的話 c++,b = d-1 的話 e--, 如果 c = e 的話 f > 30... 然後 f 是 array 所以之後用 while loop 去把東西叫進來,之後要拿 a、c、d、e、和我還沒講到的 g 以及 h 拿來畫東西,處理時間其實還蠻久的是 9n+2n^2+n^y... 光是邏輯處理進來的東西就千行,請問外人(尤其只懂 Cocoa 不懂 C)要如何去短時間內搞懂我寫的東西?註解難道不重要?沒註解她們搞不好看更久...

請問樓主,妳覺得 code review 和註解以及邏輯的流程圖在此重要嗎?還是妳覺得該公司直接把數據套進來,我這邊運算後然後丟出去她們裡面都不必看可以改什麼?

我再講一個我接到的 case...
之前有一家公司為了省錢跑去找印度人寫軟體,那家公司搞到一半跑來跟我求救... 舉例一下那個印度人幹的蠢事... 一個 Object 假設是 human 好了,裡面 variable 有 head, brain, hair, nose, mouth, cup, cock 好了... 這個印度人非常的天才,先不講他把所有這些都設定成 NSString(像 cock 用 bool 不就好了?),他會把一切東西隨便套用(因為都是 NSString)... 像是 eat class 中,是把食物 = mouth 就好,可是他會把 cock 抓來說食物 = cock... ... 要是他都把 cock 和 mouth 搞錯無所謂喔∼偏偏在 sex class 中把勃起 = hair,之後又把**** = cock(放對了?)然後後來可能才發現他之前寫 hair = 勃起是錯誤的可是他沒有改,他後面直接寫 hair = cock... ... WHAT THE FXXK!???整個十幾萬行(這又是天才的地方... 一天 24 小時他直接一個小時一個小時用 switch 去寫)的 code 都是這麼亂... 難怪一堆 bug 還跑不出來勒...


樓主一個最大的問題就可能沒有太多寫軟體的經驗。等到當管理的人後遇到這種初學者的腦殘後,就會理解為什麼要把一堆東西都先弄好。這世界上寫軟體不像樓主想像中的那樣的。樓主指出 Linux... 還說現在一堆機上盒什麼的都是 Linux 所以最基本的程式設計師就是要懂 Open Source 裡面寫的東西... NO... 安裝那種裝置的 OS 上去所需要寫程式的部份根本不多。除了 Driver 外就只有 UI... 妳就當所有程式設計師都會寫 driver 就對了?妳也就當所有程式設計師都會寫 UI 就對了?即便是都會寫好了,她們也不需要懂得 OS 裡頭的東西呀∼ Driver 和 UI 是多加的,只要知道怎麼叫出 OS 軟體內的資源就可以啦∼還是難道我知道如何寫 Driver 和 UI 就會看的懂整個 OS 軟體?

我相信這邊人一堆人會寫 Windows Driver... 請問這些人是不是能不透過註解和任何多餘文件去看的懂所有 Windows XP 的原始碼???(哈∼還要先去學 Basic 勒)

我只能講... 樓主還是多磨練一下吧... 妳講的很多東西國外公司也都會做。你們公司的主管是否有真才實料我無語置評,但是不代表主管沒辦法寫程式了... 我曾經愈過某位 CTO 已經是神人了... 我遭遇的問題問他,他聽了大概後根本連程式碼都沒看就說出我大概哪邊有錯了... 想說哪有這麼神回去看還真的... 但是他已經不寫軟體了... 寫軟體很了不起嗎?我跟你講,最剛開始的計畫、流程圖、想法比任何東西都重要!因為只有一個完好的計畫和流程圖,才能讓進階到初學的人都能夠在這邊學習在這邊寫,並且從中學習到避免發生一連串錯誤的方法。有些錯誤一直錯下去是必須把幾個月的心血去砍掉的!妳就當真覺得 Open Source 的人沒在管計畫和流程?我跟你講我也不是沒參加過 Open Source 的起始團隊... irc 在講計畫跟流程講多少耶∼∼∼∼ 妳沒看到就當做沒有了嗎?有些大宗 Open Source 團隊的頭頭的資歷根本就足夠當很多公司的 CTO 了... 妳有料沒料她們一聽就知道... 新加入的新血所寫的軟體可不可用難道這些人都不會看過喔?那這樣還不是 code review 嗎?

(p.s. 第一個例子... 後來聽說該公司把我寫的這段改成面試考題... 一直到兩年前被一個當到某公司 VP 被裁掉的真的是高手破解掉... 處理時間直接消除 n^y 最多的部份,我後來看了那傢伙的履歷後知道一些神人還是存在,那傢伙在第一個軟體公司上班時我還沒出生勒... 大家都在經濟不好時為五斗米折腰... 該公司 CTO 很識相的給出超高薪水...)

ODD2 2012-11-12 11:12 PM

真是無言, 一篇文章10個人看可以出現11種結果.

沒說明程式碼在寫什麼 變成 沒註解沒文件
軟體主管要做的系統規劃 變成 沒規劃

據我所知已是linux kernel maintainer的人是不會沒事去看其他maintainer的程式的, 都是直接信任的,
好像是新加入的才要接受code review確認這個人可以寫出高品質的軟體, 過了之後就沒了.


斷章取義是不好的行為.

:think: :unbelief:

=大雄= 2012-11-13 09:56 AM

引用:
作者A級黑豬肉


這讓我想到兩個經歷...
我曾經接了一個 Cocoa 的 case,問好作用和所需後,我寫出來的她們一堆人都要看兩個月才看的懂... 為何呢?因為中間牽扯到邏輯和直接 C code 下去寫 Cocoa... 八個 variable 因為是邏輯所以真的只能用 a~h 做命名,一堆 compare 像是 a = b 的話 c++,b = d-1 的話 e--, 如果 c = e 的話 f > 30... 然後 f 是 array 所以之後用 while loop 去把東西叫進來,之後要拿 a、c、d、e、和我還沒講到的 g 以及 h 拿來畫東西,處理時間其實還蠻久的是 9n+2n^2+n^y... 光是邏輯處理進來的東西就千行,請問外人(尤其只懂 Cocoa 不懂 C)要如何去短時間內搞懂我寫的東西?註解難道不重要?沒註解她們搞不好看更久...

請問樓主,妳覺得 code review 和註解以及邏輯的流程圖在此重要嗎?還是妳覺得該公司直接把數據套進來,我這邊運算後然後丟出去她們裡面都不必看可以改什麼?

...


A大
你還寫那麼多呀
我才寫沒幾句
就被叫去加強自已的程式技能了 :cry:
認真就輸了
完敗 :stupefy:

ODD2 2012-11-13 10:36 AM

引用:
作者A級黑豬肉


這讓我想到兩個經歷...
我曾經接了一個 Cocoa 的 case,問好作用和所需後,我寫出來的她們一堆人都要看兩個月才看的懂... 為何呢?因為中間牽扯到邏輯和直接 C code 下去寫 Cocoa... 八個 variable 因為是邏輯所以真的只能用 a~h 做命名,一堆 compare 像是 a = b 的話 c++,b = d-1 的話 e--, 如果 c = e 的話 f > 30... 然後 f 是 array 所以之後用 while loop 去把東西叫進來,之後要拿 a、c、d、e、和我還沒講到的 g 以及 h 拿來畫東西,處理時間其實還蠻久的是 9n+2n^2+n^y... 光是邏輯處理進來的東西就千行,請問外人(尤其只懂 Cocoa 不懂 C)要如何去短時間內搞懂我寫的東西?註解難道不重要?沒註解她們搞不好看更久...

...




你的程式真的都是用a b c d e在命名的嗎? 那別人當然看不懂,
命名有意義就不用去寫那一堆註解, 如果命名簡單易懂對方還看不懂那是對方的問題,
好的程式碼就是最好的註解.

tatakx 2012-11-13 10:49 AM

引用:
作者A級黑豬肉


這讓我想到兩個經歷...
我曾經接了一個 Cocoa 的 case,問好作用和所需後,我寫出來的她們一堆人都要看兩個月才看的懂... 為何呢?因為中間牽扯到邏輯和直接 C code 下去寫 Cocoa... 八個 variable 因為是邏輯所以真的只能用 a~h 做命名,一堆 compare 像是 a = b 的話 c++,b = d-1 的話 e--, 如果 c = e 的話 f > 30... 然後 f 是 array 所以之後用 while loop 去把東西叫進來,之後要拿 a、c、d、e、和我還沒講到的 g 以及 h 拿來畫東西,處理時間其實還蠻久的是 9n+2n^2+n^y... 光是邏輯處理進來的東西就千行,請問外人(尤其只懂 Cocoa 不懂 C)要如何去短時間內搞懂我寫的東西?註解難道不重要?沒註解她們搞不好看更久...

請問樓主,妳覺得 code review 和註解以及邏輯的流程圖在此重要嗎?還是妳覺得該公司直接把數據套進來,我這邊運算後然後丟出去她們裡面都不必看可以改什麼?

...



我想樓主的意思應該主要針對一些會壓榨下面人的主管

SA、SD、coding都是下面人要負責

你想想一個人又要寫一堆文件又要Coding又要debug那是多累人的事

而上面的主管只負責催你跟給你更多的工作

有功他領 背黑鍋你來

你可能會想那這樣為什麼不換間公司?

因為換了之後還是遇到同樣的主管

畢竟樓主說的這種主管還滿多的

他們認為寫程式只有初學者在做的事

而你做了很久還是在寫程式他們會認為你能力不足所以沒有升SA

ODD2 2012-11-13 11:08 AM

引用:
作者小川壞壞美
樓主何不示範一下,寫一下 "好的程式碼" 給鄉民們開開眼~~~~ :like:




你們都沒看這篇作者在寫什麼?
kernel.org 挑幾個driver/module去看, 看不懂是你自己的問題.

:think:

buzzbee 2012-11-13 11:32 AM

引用:
作者ODD2
真是無言, 一篇文章10個人看可以出現11種結果.

沒說明程式碼在寫什麼 變成 沒註解沒文件
軟體主管要做的系統規劃 變成 沒規劃

據我所知已是linux kernel maintainer的人是不會沒事去看其他maintainer的程式的, 都是直接信任的,
好像是新加入的才要接受code review確認這個人可以寫出高品質的軟體, 過了之後就沒了.


斷章取義是不好的行為.

:think: :unbelief:



不要老是怪別人看不懂你的文章,
是不是該反省一下,為啥你的文章別人看不懂?

一個人看不懂,可能是那人的問題;
兩個人看不懂,作者可能就要小心了;
三個人以上看不懂,作者你覺得是誰的問題比較大?


所有的時間均為GMT +8。 現在的時間是12:38 PM.

vBulletin Version 3.0.1
powered_by_vbulletin 2026。