快而髒的程式碼真的能更快推向市場嗎?

banq發表於2021-04-11

著名敏捷專家Allen Holub認為:編寫“快速而骯髒”的廢程式碼可以使您更快地推向市場是一個神話。至少我從未見過這項工作。最快的上市方式是編寫高質量的,經過良好測試的程式碼。馬丁福勒稱這種“快而髒”程式碼是魯莽導致的債務reckless debt.
什麼是足夠好、高質量的程式碼?他認為TDD+Mob結對程式設計就可以實現。
 
反方意見:
我卻見到過這種“快而髒”程式碼並完成了它們。我們花了不到一個月的時間就推向市場第一個版本。它使我們獲得了很多業務和市場反饋。
 
我曾經為一家擁有多種產品的供應商工作,在成立初期,我曾根據“哪個團隊首先將他們的產品推向市場”給予團隊獎金。 20年後,產品中仍然存在許多“快而髒”程式碼。
  
Allen補充說:我曾經兩次擔任CTO,兩次都是為預算有限的初創公司而設計的。我負擔不起人們編寫拙劣的程式碼。第一次需要更改某些東西時,它總是浪費很多時間。
 
程式設計師認為他們的工作是使計算機起作用,而不是使計算機起其他作用,這是相當有區別的, “編寫易於更改的程式碼”比“編寫特定的的網路表單的程式碼”難得多。
 
banq評:快而髒的程式碼只要能工作,有可能程式設計師都不知道它是如何工作,只要能執行起來就已經很費力氣了,而在此基礎上要求他們編寫易於更改的程式碼確實很難,但是這種觀點是將兩者對立起來,易於更改的程式碼重點不是在程式碼上,而是易於更改,當你從零開始編碼,首要任務是程式碼累加,不斷追加程式碼或刪除程式碼,但是不修改程式碼。
刪除一條微服務程式碼再重新建立新的微服務程式碼,無需開啟原有程式碼去修改,如同你發微博發朋友圈一樣,微博發出以後,你只能刪除,不能修改它,你下了訂單以後,只能刪除訂單,不能修改訂單,你無法因為訂單中多購買一個商品,想在訂單裡刪除這條商品條目,你無法做到,你只能重新下單,這個新的訂單不包含你要刪除的商品。
對待程式碼也是如此,只有新增追加或刪除,沒有開啟進入內部修改它,這程式碼很大,因為需要你程式碼內部設計得易於你修改它,這很不容易。這是人們對”易於修改的程式碼“的誤解,也是對技術負債的誤解。
因此,編寫快而髒程式碼更迅速將產品推向市場是可能的,只要採取追加和刪除兩種方式對待程式碼,然後讓其執行起來即可。

 
 

相關文章