SOLID Principles คืออะไร

SOLID คือ หลักการในการออกแบบซอฟต์แวร์ที่ดี ที่ช่วยให้โครงสร้างของโปรแกรมที่เขียนนั้นมีความชัดเจนและดูแลรักษาได้ง่ายในอนาคต SOLID ย่อมาจาก

  • S = Single Responsibility Principle (SRP)
  • O = Open-Closed Principle (OCP)
  • L = Liskov Substitution Principle (LSP)
  • I = Interface Segregation Principle (ISP)
  • D = Dependency Inversion Principle (DIP)

Continue reading

Advertisements

Javascript มี -0 (Negative Zero) ด้วยนะ

เนื่องจากไม่เชี่ยวชาญ Javascript ถึงจะรู้ว่ามันไม่เหมือนภาษาทั่วๆไปอยู่หลายอย่าง แต่สิ่งที่เจอมาล่าสุดมันแปลกมาก คือ สั่งให้แสดงค่าตัวเลขออกมาแล้วเจอว่ามันแสดงผลเป็น -0 เข้าใจถูกแล้วครับ มันมีเครื่องหมายลบหน้าเลขศูนย์ด้วย ซึ่งมันอาจจะแปลกๆเวลาให้คนที่มาดู ว่ามันต่างจาก 0 ธรรมดาอย่างไร

พอจะรู้อยู่บ้างว่าตัวแปรชนิด Number ใน Javascript นั้นเก็บได้ทั้งจำนวนเต็มและจำนวนแบบมีทศนิยม เหตุการณ์ที่เกิดขึ้นนี้ เกิดจากการใช้ฟังก์ชัน Math.round(ตัวเลขติดลบที่จริงๆแล้วน่าจะเป็นค่าศูนย์) เช่น Math.round(-0.0000123) เอาไปลองใน Chrome Console ดูได้เลย

พอจะต้องแก้ให้ตรวจว่าถ้าเจอ -0 ก็ต้องแสดงผลเป็น 0 จึงได้เจอหนังสือเล่มหนึ่งสรุปไว้ให้แล้วว่านี่คือกลไกใน Javascript จริงๆ!!!

Continue reading

9 featureใหม่ใน Java 9

หลังจาก Java 8 release ได้ 3 ปี กำหนดการ release Java 9 คือ 21 กันยายน 2560 นอกเหนือจากระบบ module ที่เป็นของใหม่และมีการพูดถึงมากที่สุดแล้ว ก็ยังมีหัวข้ออื่นๆอีก รวมเป็น 9 ข้อด้วยกัน

Continue reading

มีอะไรใหม่ใน C# 7

ภาษา C# version ใหม่ ได้เปิดให้ใช้งานตั้งแต่เดือนมีนาคม 2017 แล้ว และพร้อมใช้งานใน Visual Studio 2017

ใน C# 7 นั้นได้เพิ่มความสามารถของภาษาเพื่อให้เขียนโค้ดได้สั้นลง และรองรับการเขียนโปรแกรมสมัยใหม่ เช่น tuple ซึ่งลดข้อจำกัดของการคืนค่าของฟังก์ชันได้มากกว่า 1 ค่า หรือการใช้งานฟังก์ชันในลักษณะของตัวแปร คล้ายกับของ Javascript

รายการ feature ใหม่ใน C# 7 มีดังนี้

Continue reading