點學寫靚PROGRAM

315 回覆
17 Like 1 Dislike
2017-04-26 22:59:50
雖然我自己做Programmer都係幾年時間,唔算長,我追完呢個POST都有好多位一頭煙/睇完好累
但我想問下寫靚Program唔係好應該見到咩CASE就應用番咩最好既工具咩 ,唔係應該寫完堆CODE之後,你睇落個logic係make sense,順眼架咩
我見到上面有D CASE明明直接可以用While,又要特登用For(;true;)咁,雖然呢D方法你要寫係可以While代替For,For可以代替While,但自問感覺係好怪好唔舒服
可能我真係無知,所以想請教下


做左就兩年, 基本上都係返工邊做邊學, 見到個Post啲 terms 真係R曬頭

邊啲term呀
2017-04-26 23:14:01
轉貼
----------------------

軟體工程師的鄙視鏈到底有多慘烈、多殘酷呢?

程式語言篇

懂 Functional Programming 的工程師鄙視老是把設計模式掛在嘴邊的工程師,老是把設計模式掛在嘴邊的工程師鄙視會說「你這樣寫就不 OO 了啊」的工程師,會說「你這樣寫就不 OO 了啊」的工程師鄙視會說「蛤?什麼物件導向?不是把重複的 code 寫成一個 function 就好了嗎?」的工程師,會說「蛤?什麼物件導向?不是把重複的 code 寫成一個 function 就好了嗎?」的工程師鄙視把同一段 code 到處複製貼上的工程師,把同一段 code 到處複製貼上的工程師鄙視 PM。

寫靜態語言的工程師鄙視寫動態語言的工程師。

寫組合語言的工程師鄙視寫 C 語言的工程師,C 語言工程師鄙視 C++ 工程師,C++ 工程師鄙視 Java 和 C# 工程師,Java 工程師和 C# 工程師則互相鄙視,而 C# 工程師又鄙視 Visual Basic 工程師和會把 C# 唸成「C 井」的工程師,會把 C# 唸成「C 井」的工程師則鄙視認為 HTML 是一種程式語言的設計師。

用 Python 3 的工程師鄙視還在用 Python 2 的工程師,用 Python 2 的工程師鄙視遇到 UnicodeEncodeError 的工程師。

寫 iOS 的工程師鄙視寫 Android 的工程師,寫 Android 的工程師鄙視寫 Windows Phone 的工程師。

有 Swift 一年經驗的工程師鄙視有 Objective-C 五年經驗的工程師,寫 Objective-C 的工程師鄙視用 PhoneGap 包裝成 native app 的工程師。

用 React.js 的工程師鄙視用 AngularJS 的工程師,用 AngularJS 的工程師鄙視用 jQuery 的工程師,用 jQuery 的工程師鄙視用 Vanilla JavaScript 的工程師,用 Vanilla JavaScript 的工程師鄙視 IE 的使用者。

會用 debugger 的工程師鄙視用 assert 的工程師,用 assert 的工程師鄙視只會 print() 的工程師;用 console.log() 來 debug 的工程師鄙視用 alert() 來 debug 的工程師。

寫 Ruby on Rails 的工程師鄙視所有使用其他語言的工程師。
什麼?你說 Ruby?Ruby 只是 Ruby on Rails 的一套框架,才不是什麼程式語言呢!

所有的工程師都鄙視 PHP 工程師。

工具篇

用 text editor 的工程師鄙視用 IDE 的工程師。

用 Vim 的工程師鄙視用 Emacs 的工程師,用 Emacs 的工程師鄙視用 Vim 的工程師,無論是用 Vim 或 Emacs 的工程師都鄙視所有用其他編輯器的工程師;用 Atom、Notepad++、Sublime Text 的工程師鄙視用 Windows 記事本的工程師。

用 Android Studio 或 IntelliJ IDEA 的工程師鄙視用 Eclipse 的工程師,用 Eclipse 的工程師鄙視用 NetBeans 的工程師。

編輯器使用深色背景的工程師鄙視使用白色背景的工程師。

程式碼用 space 縮排的工程師鄙視用 tab 縮排的工程師,用 tab 縮排的工程師鄙視混用 space 和 tab 來縮排的工程師。

用 Git 或 Mercurial 的工程師鄙視用 Subversion 的工程師,用 Subversion 的工程師鄙視用 Dropbox 來做版本控制的工程師,用 Dropbox 來做版本控制的工程師鄙視根本不知道什麼叫做版本控制的工程師。

知道 GitHub 的工程師鄙視不知道 GitHub 的工程師;在 GitHub 有 private repo 的工程師鄙視為了免費的 private repo 而去用 BitBucket 的工程師。

用 Zsh 的工程師鄙視用 Bash 的工程師,用 Bash 的工程師鄙視用 Cygwin 的工程師,用 Cygwin 的工程師鄙視用「命令提示字元」的工程師,用命令提示字元的工程師鄙視用 GUI 介面的工程師。

用 IRC 的工程師鄙視用 HipChat 的工程師,用 HipChat 的工程師鄙視用 Slack 的設計師和 PM。

用 reStructuredText 寫文件的工程師鄙視用 Markdown 寫文件的工程師,用 Markdown 寫文件的工程師鄙視用 HTML 寫文件的工程師,用 HTML 寫文件的工程師鄙視不寫文件的工程師,然後用 LaTeX 寫文件的工程師鄙視所有工程師。

用 Nginx 的工程師鄙視用 Apache 的工程師,用 Apache 的工程師鄙視用 IIS 的工程師。

用 Spark 的工程師鄙視用 Hadoop 的工程師,用 Hadoop 的工程師鄙視用 Hadoop 處理只有幾 GB 資料的工程師,用 Hadoop 處理只有 1GB 資料的工程師鄙視用 NoSQL 的工程師,用 NoSQL 的工程師鄙視用關聯式資料庫的工程師,用關聯式資料庫的工程師鄙視用 Excel 的 PM。

用 Docker 來部署 server 的工程師鄙視用 Ansible 或 Puppet 來部署 server 的工程師,用 Ansible 或 Puppet 來部署 server 的工程師鄙視用 Fabric 來部署 server 的工程師,用 Fabric 來部署 server 的工程師鄙視手動 SSH 的工程師。
2017-04-26 23:14:44
OS 篇

用 Mac OS X 的工程師鄙視用 Linux 的工程師,用 Linux 的工程師鄙視用 Windows 的工程師。

用 Debian 的工程師瞧不起用 Ubuntu 的工程師,用 Ubuntu 的工程師瞧不起用非 LTS 版本的 Ubuntu 的工程師。

硬體篇

用 MacBook Pro Retina 的工程師鄙視用 MacBook Air 的工程師,用 MacBook Air 的工程師鄙視用 ThinkPad 的工程師,然後用 Raspberry Pi 的工程師鄙視用 MacBook Pro Retina 的工程師。

用 Dvorak 鍵盤的工程師鄙視用 Mac 鍵盤的工程師,用 Mac 鍵盤的工程師鄙視用 QWERTY 鍵盤的工程師,用 QWERTY 鍵盤的工程師鄙視鄙視不知道 QWERTY 鍵盤是什麼的工程師,不知道 QWERTY 鍵盤是什麼的工程師鄙視用手寫板的設計師。

坐 Aeron 椅子的工程師鄙視坐普通辦公椅的工程師,坐普通辦公椅的工程師鄙視跟他一樣做普通辦公椅的 PM,然後站著寫程式的工程師鄙視坐 Aeron 椅子的工程師。

職場篇

搞硬體的工程師鄙視搞軟體的工程師。

寫 OS 的工程師鄙視寫 Web 的工程師,寫 Web 的工程師鄙視寫 desktop application 的工程師。

後端工程師鄙視前端工程師。

工程師跟設計師互相鄙視。

信奉 Test-Driven Development 的工程師鄙視先寫 code 再補 tests 的工程師,先寫 code 再補 tests 的工程師鄙視不寫 tests 的工程師,不寫 tests 的工程師鄙視又他媽亂改需求的 PM。

沒有證照的工程師鄙視考了一堆證照的工程師。

上班穿休閒服的工程師鄙視上班穿西裝的工程師,上班穿西裝的工程師鄙視上班穿系服的工程師。

看了這篇文章哈哈大笑的工程師鄙視看完這篇文章會說「程式語言只是工具,互相鄙視沒有意義,每個語言都有它適用跟不適用的地方」的工程師。
2017-04-27 00:01:17
雖然我自己做Programmer都係幾年時間,唔算長,我追完呢個POST都有好多位一頭煙/睇完好累
但我想問下寫靚Program唔係好應該見到咩CASE就應用番咩最好既工具咩 ,唔係應該寫完堆CODE之後,你睇落個logic係make sense,順眼架咩
我見到上面有D CASE明明直接可以用While,又要特登用For(;true;)咁,雖然呢D方法你要寫係可以While代替For,For可以代替While,但自問感覺係好怪好唔舒服
可能我真係無知,所以想請教下


做左就兩年, 基本上都係返工邊做邊學, 見到個Post啲 terms 真係R曬頭

邊啲term呀


Open Close Principle, FP, OOP ....等等

利申IVE仔, web developer要repeat 但走左去做front end
2017-04-27 00:13:25
雖然我自己做Programmer都係幾年時間,唔算長,我追完呢個POST都有好多位一頭煙/睇完好累
但我想問下寫靚Program唔係好應該見到咩CASE就應用番咩最好既工具咩 ,唔係應該寫完堆CODE之後,你睇落個logic係make sense,順眼架咩
我見到上面有D CASE明明直接可以用While,又要特登用For(;true;)咁,雖然呢D方法你要寫係可以While代替For,For可以代替While,但自問感覺係好怪好唔舒服
可能我真係無知,所以想請教下


做左就兩年, 基本上都係返工邊做邊學, 見到個Post啲 terms 真係R曬頭

邊啲term呀


Open Close Principle, FP, OOP ....等等

利申IVE仔, web developer要repeat 但走左去做front end

你只需要跟住鄙視鏈就可以step by step逐層學上去
2017-04-27 00:22:28
雖然我自己做Programmer都係幾年時間,唔算長,我追完呢個POST都有好多位一頭煙/睇完好累
但我想問下寫靚Program唔係好應該見到咩CASE就應用番咩最好既工具咩 ,唔係應該寫完堆CODE之後,你睇落個logic係make sense,順眼架咩
我見到上面有D CASE明明直接可以用While,又要特登用For(;true;)咁,雖然呢D方法你要寫係可以While代替For,For可以代替While,但自問感覺係好怪好唔舒服
可能我真係無知,所以想請教下


做左就兩年, 基本上都係返工邊做邊學, 見到個Post啲 terms 真係R曬頭

邊啲term呀


Open Close Principle, FP, OOP ....等等

利申IVE仔, web developer要repeat 但走左去做front end

你只需要跟住鄙視鏈就可以step by step逐層學上去


唔知係鄙視鏈最底層嘅PHP developers會唔會有好似JS developers咁有番身嘅一日!
2017-04-27 01:08:43
鄙視鏈中晒咁制
2017-04-27 01:33:10
雖然我自己做Programmer都係幾年時間,唔算長,我追完呢個POST都有好多位一頭煙/睇完好累
但我想問下寫靚Program唔係好應該見到咩CASE就應用番咩最好既工具咩 ,唔係應該寫完堆CODE之後,你睇落個logic係make sense,順眼架咩
我見到上面有D CASE明明直接可以用While,又要特登用For(;true;)咁,雖然呢D方法你要寫係可以While代替For,For可以代替While,但自問感覺係好怪好唔舒服
可能我真係無知,所以想請教下


做左就兩年, 基本上都係返工邊做邊學, 見到個Post啲 terms 真係R曬頭

邊啲term呀


Open Close Principle, FP, OOP ....等等

利申IVE仔, web developer要repeat 但走左去做front end

你只需要跟住鄙視鏈就可以step by step逐層學上去


唔知係鄙視鏈最底層嘅PHP developers會唔會有好似JS developers咁有番身嘅一日!

php the best
2017-04-27 01:37:35
雖然我自己做Programmer都係幾年時間,唔算長,我追完呢個POST都有好多位一頭煙/睇完好累
但我想問下寫靚Program唔係好應該見到咩CASE就應用番咩最好既工具咩 ,唔係應該寫完堆CODE之後,你睇落個logic係make sense,順眼架咩
我見到上面有D CASE明明直接可以用While,又要特登用For(;true;)咁,雖然呢D方法你要寫係可以While代替For,For可以代替While,但自問感覺係好怪好唔舒服
可能我真係無知,所以想請教下


做左就兩年, 基本上都係返工邊做邊學, 見到個Post啲 terms 真係R曬頭

邊啲term呀


Open Close Principle, FP, OOP ....等等

利申IVE仔, web developer要repeat 但走左去做front end

你只需要跟住鄙視鏈就可以step by step逐層學上去


唔知係鄙視鏈最底層嘅PHP developers會唔會有好似JS developers咁有番身嘅一日!

難d
javascript 太被depended upon la
2017-04-27 02:05:30
個 鄙視 鏈好正。

首先最頂層唔代表最勁,不過一定係比較好用。
中間係冇沖突。

IVE仔睇唔明唔洗急,做多幾年你就會明d,又或者上面條鏈都冇埋.

IT 係學海無涯 ,唔洗急,最重要唔好跳step,打好個基礎
2017-04-27 08:49:26
上面有人話可以用OOP設計左個藍圖之後再以FP/IMMUTABLE幫手做implemention,咁我想問其實OOP夾FP變左做stateless之後仲算唔算OOP?
2017-04-27 09:00:51
上面有人話可以用OOP設計左個藍圖之後再以FP/IMMUTABLE幫手做implemention,咁我想問其實OOP夾FP變左做stateless之後仲算唔算OOP?

勉強算係掛

因為佢stateless之後佢每次改state都由真改變左return一個新instance比你,
個transform過程都仲算係自己顧自己
其他人同以前一樣都係send message比佢叫佢做野,
只係叫完要接住新嘅佢, 而唔係攬住同一個instance
2017-04-27 09:01:25
上面有人話可以用OOP設計左個藍圖之後再以FP/IMMUTABLE幫手做implemention,咁我想問其實OOP夾FP變左做stateless之後仲算唔算OOP?

勉強算係掛

因為佢stateless之後佢每次改state都由真改變左return一個新instance比你,
個transform過程都仲算係自己顧自己
其他人同以前一樣都係send message比佢叫佢做野,
只係叫完要接住新嘅佢, 而唔係攬住同一個instance

但呢個真係一個好問題
2017-04-27 09:09:29
上面有人話可以用OOP設計左個藍圖之後再以FP/IMMUTABLE幫手做implemention,咁我想問其實OOP夾FP變左做stateless之後仲算唔算OOP?

勉強算係掛

因為佢stateless之後佢每次改state都由真改變左return一個新instance比你,
個transform過程都仲算係自己顧自己
其他人同以前一樣都係send message比佢叫佢做野,
只係叫完要接住新嘅佢, 而唔係攬住同一個instance

變左stateless之後好似連「自己」既concept都會冇左,因為啲data所有人都見到
2017-04-27 09:23:40
上面有人話可以用OOP設計左個藍圖之後再以FP/IMMUTABLE幫手做implemention,咁我想問其實OOP夾FP變左做stateless之後仲算唔算OOP?

勉強算係掛

因為佢stateless之後佢每次改state都由真改變左return一個新instance比你,
個transform過程都仲算係自己顧自己
其他人同以前一樣都係send message比佢叫佢做野,
只係叫完要接住新嘅佢, 而唔係攬住同一個instance

變左stateless之後好似連「自己」既concept都會冇左,因為啲data所有人都見到

你果時都冇野需要隱暪
2017-04-27 09:29:41
雖然我自己做Programmer都係幾年時間,唔算長,我追完呢個POST都有好多位一頭煙/睇完好累
但我想問下寫靚Program唔係好應該見到咩CASE就應用番咩最好既工具咩 ,唔係應該寫完堆CODE之後,你睇落個logic係make sense,順眼架咩
我見到上面有D CASE明明直接可以用While,又要特登用For(;true;)咁,雖然呢D方法你要寫係可以While代替For,For可以代替While,但自問感覺係好怪好唔舒服
可能我真係無知,所以想請教下


做左就兩年, 基本上都係返工邊做邊學, 見到個Post啲 terms 真係R曬頭

邊啲term呀


Open Close Principle, FP, OOP ....等等

利申IVE仔, web developer要repeat 但走左去做front end

你只需要跟住鄙視鏈就可以step by step逐層學上去

呢篇野好經典
睇番又諗番好多野, 真係一層層爬上去
2017-04-27 09:51:55
上面有人話可以用OOP設計左個藍圖之後再以FP/IMMUTABLE幫手做implemention,咁我想問其實OOP夾FP變左做stateless之後仲算唔算OOP?

勉強算係掛

因為佢stateless之後佢每次改state都由真改變左return一個新instance比你,
個transform過程都仲算係自己顧自己
其他人同以前一樣都係send message比佢叫佢做野,
只係叫完要接住新嘅佢, 而唔係攬住同一個instance

但呢個真係一個好問題

呢個話題繼續討論落去之前要先定義好咩為之FP
仲有Java8如何使用FP,Java8到底仲係咪OOP
2017-04-27 10:10:32
上面有人話可以用OOP設計左個藍圖之後再以FP/IMMUTABLE幫手做implemention,咁我想問其實OOP夾FP變左做stateless之後仲算唔算OOP?

勉強算係掛

因為佢stateless之後佢每次改state都由真改變左return一個新instance比你,
個transform過程都仲算係自己顧自己
其他人同以前一樣都係send message比佢叫佢做野,
只係叫完要接住新嘅佢, 而唔係攬住同一個instance

但呢個真係一個好問題

呢個話題繼續討論落去之前要先定義好咩為之FP
仲有Java8如何使用FP,Java8到底仲係咪OOP

stateless極其量只係immutable, 未同fp有關係住

fp最基本有higher order function,
compose function with functions, currying果類野

我唔熟java, 直接評論唔到
2017-04-27 11:25:35

但呢個真係一個好問題

呢個話題繼續討論落去之前要先定義好咩為之FP
仲有Java8如何使用FP,Java8到底仲係咪OOP

stateless極其量只係immutable, 未同fp有關係住

fp最基本有higher order function,
compose function with functions, currying果類野

我唔熟java, 直接評論唔到 [/quote]

我個人追求既係FP style所帶來既好處, 而唔會盲目追FP
2017-04-27 11:32:28

但呢個真係一個好問題

呢個話題繼續討論落去之前要先定義好咩為之FP
仲有Java8如何使用FP,Java8到底仲係咪OOP

stateless極其量只係immutable, 未同fp有關係住

fp最基本有higher order function,
compose function with functions, currying果類野

我唔熟java, 直接評論唔到


我個人追求既係FP style所帶來既好處, 而唔會盲目追FP[/quote]
C# 既 delegate又點睇
2017-04-27 11:40:45

但呢個真係一個好問題

呢個話題繼續討論落去之前要先定義好咩為之FP
仲有Java8如何使用FP,Java8到底仲係咪OOP

stateless極其量只係immutable, 未同fp有關係住

fp最基本有higher order function,
compose function with functions, currying果類野

我唔熟java, 直接評論唔到


我個人追求既係FP style所帶來既好處, 而唔會盲目追FP

C# 既 delegate又點睇

係呀, 攞佢d著數就好夠
尤其係返工邊用得呢d野姐,
但係基本用immutable interface,
用下d map/reduce func,
成個program都已經唔同哂
最緊要隔離位唔會鬧你

fp都係得閒自己學下野寫下就夠

c#太耐冇寫, delegate有少少似java interface?
c#我印象中都係java咁, 不過佢個syntax好好多
2017-04-27 11:48:30

但呢個真係一個好問題

呢個話題繼續討論落去之前要先定義好咩為之FP
仲有Java8如何使用FP,Java8到底仲係咪OOP

stateless極其量只係immutable, 未同fp有關係住

fp最基本有higher order function,
compose function with functions, currying果類野

我唔熟java, 直接評論唔到


我個人追求既係FP style所帶來既好處, 而唔會盲目追FP

C# 既 delegate又點睇

係呀, 攞佢d著數就好夠
尤其係返工邊用得呢d野姐,
但係基本用immutable interface,
用下d map/reduce func,
成個program都已經唔同哂
最緊要隔離位唔會鬧你

fp都係得閒自己學下野寫下就夠

c#太耐冇寫, delegate有少少似java interface?
c#我印象中都係java咁, 不過佢個syntax好好多

delegate係類似function object既物體
2017-04-27 12:14:52
雖然我自己做Programmer都係幾年時間,唔算長,我追完呢個POST都有好多位一頭煙/睇完好累
但我想問下寫靚Program唔係好應該見到咩CASE就應用番咩最好既工具咩 ,唔係應該寫完堆CODE之後,你睇落個logic係make sense,順眼架咩
我見到上面有D CASE明明直接可以用While,又要特登用For(;true;)咁,雖然呢D方法你要寫係可以While代替For,For可以代替While,但自問感覺係好怪好唔舒服
可能我真係無知,所以想請教下


做左就兩年, 基本上都係返工邊做邊學, 見到個Post啲 terms 真係R曬頭

邊啲term呀


Open Close Principle, FP, OOP ....等等

利申IVE仔, web developer要repeat 但走左去做front end

咁呢D好基本wor...Open Close Principle,FP,OOP應該讀完出黎都知咩黎既
我話頭痛係因為一黎見到成篇長文而我百思不得奇解點解要咁做,二黎我覺得因為一D野而唔用某D野我真係覺得唔舒服,正如日常生活中要解決問題都係揾最快最簡單既方法
我覺得打Program設計一個Application根本係可以同你日常生活一樣,我覺得邊樣野簡單,快咪用囉
2017-04-27 13:00:23
雖然我自己做Programmer都係幾年時間,唔算長,我追完呢個POST都有好多位一頭煙/睇完好累
但我想問下寫靚Program唔係好應該見到咩CASE就應用番咩最好既工具咩 ,唔係應該寫完堆CODE之後,你睇落個logic係make sense,順眼架咩
我見到上面有D CASE明明直接可以用While,又要特登用For(;true;)咁,雖然呢D方法你要寫係可以While代替For,For可以代替While,但自問感覺係好怪好唔舒服
可能我真係無知,所以想請教下


做左就兩年, 基本上都係返工邊做邊學, 見到個Post啲 terms 真係R曬頭

邊啲term呀


Open Close Principle, FP, OOP ....等等

利申IVE仔, web developer要repeat 但走左去做front end

咁呢D好基本wor...Open Close Principle,FP,OOP應該讀完出黎都知咩黎既
我話頭痛係因為一黎見到成篇長文而我百思不得奇解點解要咁做,二黎我覺得因為一D野而唔用某D野我真係覺得唔舒服,正如日常生活中要解決問題都係揾最快最簡單既方法
我覺得打Program設計一個Application根本係可以同你日常生活一樣,我覺得邊樣野簡單,快咪用囉

common sense 依一樣野唔係人人都唔一樣,下一手做ge人未必覺得最快最簡單
2017-04-27 14:02:00

但呢個真係一個好問題

呢個話題繼續討論落去之前要先定義好咩為之FP
仲有Java8如何使用FP,Java8到底仲係咪OOP

stateless極其量只係immutable, 未同fp有關係住

fp最基本有higher order function,
compose function with functions, currying果類野

我唔熟java, 直接評論唔到


我個人追求既係FP style所帶來既好處, 而唔會盲目追FP

C# 既 delegate又點睇

係呀, 攞佢d著數就好夠
尤其係返工邊用得呢d野姐,
但係基本用immutable interface,
用下d map/reduce func,
成個program都已經唔同哂
最緊要隔離位唔會鬧你

fp都係得閒自己學下野寫下就夠

c#太耐冇寫, delegate有少少似java interface?
c#我印象中都係java咁, 不過佢個syntax好好多

delegate係類似function object既物體

我記得佢嘅用途大約好似java呢種用法

xxx.addXXXListener(new XXXInterface {
Foo foo() { /* do something */ }
});

學過下fp之後諗番其實佢都係想pass個function
delegate嘅目的都好似係咁上下, syntax唔同

成日都覺得java嘅lambda暗瓦底都係new interface
吹水台自選台熱 門最 新手機台時事台政事台World體育台娛樂台動漫台Apps台遊戲台影視台講故台健康台感情台家庭台潮流台美容台上班台財經台房屋台飲食台旅遊台學術台校園台汽車台音樂台創意台硬件台電器台攝影台玩具台寵物台軟件台活動台電訊台直播台站務台黑 洞