มาเขียนโค้ดแย่ๆ กันเถอะ
-
Upload
somkiat-puisungnoen -
Category
Technology
-
view
1.568 -
download
5
description
Transcript of มาเขียนโค้ดแย่ๆ กันเถอะ
![Page 1: มาเขียนโค้ดแย่ๆ กันเถอะ](https://reader034.fdocument.pub/reader034/viewer/2022051314/54b70af64a7959ad588b4570/html5/thumbnails/1.jpg)
มาเขียนโค้ดแย่ๆ กันเถอะ@somkiat
![Page 2: มาเขียนโค้ดแย่ๆ กันเถอะ](https://reader034.fdocument.pub/reader034/viewer/2022051314/54b70af64a7959ad588b4570/html5/thumbnails/2.jpg)
SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
ทำไมต้อง JAVA
http://spectrum.ieee.org/computing/software/top-10-programming-languages
![Page 3: มาเขียนโค้ดแย่ๆ กันเถอะ](https://reader034.fdocument.pub/reader034/viewer/2022051314/54b70af64a7959ad588b4570/html5/thumbnails/3.jpg)
SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
คำเตือน
เรื่องต่างๆ ที่จะพูดต่อไปนี้
เป็นเรื่องตลกทั้งิ้น
ไม่ใ่แนวปฎิบัติที่ดีเลย
![Page 4: มาเขียนโค้ดแย่ๆ กันเถอะ](https://reader034.fdocument.pub/reader034/viewer/2022051314/54b70af64a7959ad588b4570/html5/thumbnails/4.jpg)
SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
คุณคือ
Maintenance Programmer
Maintenance Programming
ทําการเขียน
![Page 5: มาเขียนโค้ดแย่ๆ กันเถอะ](https://reader034.fdocument.pub/reader034/viewer/2022051314/54b70af64a7959ad588b4570/html5/thumbnails/5.jpg)
SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
เชื่อเถอะว่า
มันก็ยากต่อการทําความเข้าใจเ่นกัน
ถ้าโค้ดมันเขียนยาก
![Page 6: มาเขียนโค้ดแย่ๆ กันเถอะ](https://reader034.fdocument.pub/reader034/viewer/2022051314/54b70af64a7959ad588b4570/html5/thumbnails/6.jpg)
SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
แต่สิ่งที่มักพบเจอ
![Page 7: มาเขียนโค้ดแย่ๆ กันเถอะ](https://reader034.fdocument.pub/reader034/viewer/2022051314/54b70af64a7959ad588b4570/html5/thumbnails/7.jpg)
SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
มาเขียนโค้ดกัน
http://hdwallpapers-download.com/best-girl-generation-image-06.html
![Page 8: มาเขียนโค้ดแย่ๆ กันเถอะ](https://reader034.fdocument.pub/reader034/viewer/2022051314/54b70af64a7959ad588b4570/html5/thumbnails/8.jpg)
SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
ชื่อนั้นสำคัญไฉน
"นามนั้นําคัญไฉน กุหลาบถึงเรียกขานด้วย่ือใด ก็ยังคงความหอมเ่นเดิม"
William Shakespeare
![Page 9: มาเขียนโค้ดแย่ๆ กันเถอะ](https://reader034.fdocument.pub/reader034/viewer/2022051314/54b70af64a7959ad588b4570/html5/thumbnails/9.jpg)
SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
A B C D E F G
A Boy Can Do Every Thing For Girl
http://www.urbandictionary.com/define.php?term=LMNOP&defid=7311415
![Page 10: มาเขียนโค้ดแย่ๆ กันเถอะ](https://reader034.fdocument.pub/reader034/viewer/2022051314/54b70af64a7959ad588b4570/html5/thumbnails/10.jpg)
SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
ชื่อที่ไม่สื่อความหมาย
flagcount
processhandle
run data
inputoutput
perform
doIt
routine
![Page 11: มาเขียนโค้ดแย่ๆ กันเถอะ](https://reader034.fdocument.pub/reader034/viewer/2022051314/54b70af64a7959ad588b4570/html5/thumbnails/11.jpg)
SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
ใช้ชื่อย่อ
Str = String
Usr = User
Frm = Frame/Form
Eff = Efficiency
Txt = Text
![Page 12: มาเขียนโค้ดแย่ๆ กันเถอะ](https://reader034.fdocument.pub/reader034/viewer/2022051314/54b70af64a7959ad588b4570/html5/thumbnails/12.jpg)
SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
ไม่สนใจ Coding Convention
i_love_you
NUMBER_Format
Idontcareanything
![Page 13: มาเขียนโค้ดแย่ๆ กันเถอะ](https://reader034.fdocument.pub/reader034/viewer/2022051314/54b70af64a7959ad588b4570/html5/thumbnails/13.jpg)
SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
ชื่อกับสิ่งที่ทำไม่ตรงกัน
isValid()
writeFile()
process()
![Page 14: มาเขียนโค้ดแย่ๆ กันเถอะ](https://reader034.fdocument.pub/reader034/viewer/2022051314/54b70af64a7959ad588b4570/html5/thumbnails/14.jpg)
SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
ตั้งชื่อแบบ Hungarian
lAccountNumber
arrNumber
fnFunction
MonAM
FriPM
![Page 15: มาเขียนโค้ดแย่ๆ กันเถอะ](https://reader034.fdocument.pub/reader034/viewer/2022051314/54b70af64a7959ad588b4570/html5/thumbnails/15.jpg)
SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
ซ่อนการทำงานเยอะๆ
Comment โค้ดทิ้งไว้ ไม่ยอมลบ
ต้ัง่ือคล้ายๆ กัน เ่น method1(), method2()
สร้าง overload method จํานวนมาก
ใ้ AOP เยอะๆ
![Page 16: มาเขียนโค้ดแย่ๆ กันเถอะ](https://reader034.fdocument.pub/reader034/viewer/2022051314/54b70af64a7959ad588b4570/html5/thumbnails/16.jpg)
SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
การเขียน Comment
Comment ไม่ตรงกับการทํางานโค้ด
Comment อธิบายขั้นตอนการทํางานอย่างละเอียด
อัตรา่วนของ comment มากกว่า code
![Page 17: มาเขียนโค้ดแย่ๆ กันเถอะ](https://reader034.fdocument.pub/reader034/viewer/2022051314/54b70af64a7959ad588b4570/html5/thumbnails/17.jpg)
SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
การออกแบบ
ใ้ type case
ไม่ต้องทําการ validate ข้อมูล
ไม่มีการ encapsulate ข้อมูล และการทํางาน
Copy-and-paste
ใ้ตัวแปรชนิด Global และ Static
![Page 18: มาเขียนโค้ดแย่ๆ กันเถอะ](https://reader034.fdocument.pub/reader034/viewer/2022051314/54b70af64a7959ad588b4570/html5/thumbnails/18.jpg)
SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
เขียนโค้ดให้ดูวุ่นวาย
ใ้ magic number เยอะๆ เ่น if( status == 1 )
ใ้ if-else, switch-case เยอะๆ
ไม่ต้องใ้ {} ําหรับ block code ที่มีบรรทัดเดียว
ทําการ Override กันหลายๆ ้ัน ดูมีภูมิ
ไม่ชอบ throw exception
![Page 19: มาเขียนโค้ดแย่ๆ กันเถอะ](https://reader034.fdocument.pub/reader034/viewer/2022051314/54b70af64a7959ad588b4570/html5/thumbnails/19.jpg)
SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
การทดสอบโค้ดที่เขียน
ไม่ต้องทดสอบ
ไม่เขียน test case
การทดสอบมันําหรับคนขี้ขลาด
ใ้ Debug
![Page 20: มาเขียนโค้ดแย่ๆ กันเถอะ](https://reader034.fdocument.pub/reader034/viewer/2022051314/54b70af64a7959ad588b4570/html5/thumbnails/20.jpg)
SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
http://multiple-sclerosis-research.blogspot.com/2013/09/bad-posts.html
![Page 21: มาเขียนโค้ดแย่ๆ กันเถอะ](https://reader034.fdocument.pub/reader034/viewer/2022051314/54b70af64a7959ad588b4570/html5/thumbnails/21.jpg)
SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
http://www.nspyre.ro/files//clean-code-1-728.jpg
![Page 22: มาเขียนโค้ดแย่ๆ กันเถอะ](https://reader034.fdocument.pub/reader034/viewer/2022051314/54b70af64a7959ad588b4570/html5/thumbnails/22.jpg)
SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
http://xprogramming.com/articles/too-much-of-a-good-thing/
![Page 23: มาเขียนโค้ดแย่ๆ กันเถอะ](https://reader034.fdocument.pub/reader034/viewer/2022051314/54b70af64a7959ad588b4570/html5/thumbnails/23.jpg)
SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
http://xprogramming.com/articles/too-much-of-a-good-thing/
![Page 24: มาเขียนโค้ดแย่ๆ กันเถอะ](https://reader034.fdocument.pub/reader034/viewer/2022051314/54b70af64a7959ad588b4570/html5/thumbnails/24.jpg)
SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
โค้ดที่ดีเป็นอย่างไร
ตรงตามความต้องการของลูกค้า
ิ่งที่ออกแบบ ต้องอยู่ในโค้ด
ไม่มีโค้ดที่ํ้า้อน
แต่ละ่วนต้องมีขนาดเล็ก
![Page 25: มาเขียนโค้ดแย่ๆ กันเถอะ](https://reader034.fdocument.pub/reader034/viewer/2022051314/54b70af64a7959ad588b4570/html5/thumbnails/25.jpg)
SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
อ่านซะ
![Page 26: มาเขียนโค้ดแย่ๆ กันเถอะ](https://reader034.fdocument.pub/reader034/viewer/2022051314/54b70af64a7959ad588b4570/html5/thumbnails/26.jpg)
SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
http://www.gfi.com/blog/the-41-dumbest-security-decisions/
![Page 27: มาเขียนโค้ดแย่ๆ กันเถอะ](https://reader034.fdocument.pub/reader034/viewer/2022051314/54b70af64a7959ad588b4570/html5/thumbnails/27.jpg)
SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
T E S T F R A M E W O R K
http://en.wikipedia.org/wiki/List_of_unit_testing_frameworks
![Page 28: มาเขียนโค้ดแย่ๆ กันเถอะ](https://reader034.fdocument.pub/reader034/viewer/2022051314/54b70af64a7959ad588b4570/html5/thumbnails/28.jpg)
SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
http://cheqbook.com/wp-content/uploads/2014/03/simple-accounting-software.jpg
![Page 29: มาเขียนโค้ดแย่ๆ กันเถอะ](https://reader034.fdocument.pub/reader034/viewer/2022051314/54b70af64a7959ad588b4570/html5/thumbnails/29.jpg)
SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance