Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Ruby

ลดความซับซ้อนโค้ด: สิ่งสะดวกเล็กๆ ที่รักษา Programming Flow

ขณะสร้างซอฟต์แวร์ จะมีสิ่งที่รบกวนทุกครั้งที่ต้องเขียน โค้ดที่ดู醜 หรือบรรทัดที่จำไม่ได้ต้อง copy-paste จากที่อื่นใน codebase สิ่งเหล่านี้หยุด flow! สำคัญที่จะรับรู้และทำให้สะดวกขึ้น

เช่น ต้องการ custom configuration ใน Rails app อาจอยาก extra app-specific settings หรือ libraries ไม่อยากหาใน config/ ปกติจะทำ YAML-ERB-read-Rails.env dance:

YAML.load(ERB.new(File.read(Rails.root.join('config', 'google_analytics.yml'))).result)[Rails.env]

แต่นี่ ridiculous และบางครั้งลืม ERB แล้วแตกตอนไม่น่าเชื่อ

ใน codebase ของเรา มี Settings class 簡單 ทำให้สะดวก:

require 'settings'
GoogleAnalyticsSettings = Settings.new(:google_analytics)
GoogleAnalyticsSettings.google_analytics_id # => "UA-XXXXXXX-1"

Settings จะหา config file ใน config/ เอง pipe ผ่าน YAML และ ERB 用 Rails.env ดึง config สำหรับ environment สุดท้าย wrap ด้วย OpenStruct ทำให้เข้าถึง top-level config สะดวก นี่คือ gist ของ basic Settings implementation

มัน simple แตสะดวก จำ Settings.new ง่ายกว่าทั้ง file loading stuff และความสะดวกเล็กๆ เหล่านี้สะสม ทำให้ codebase สนุกขึ้นเยอะ

ในโค้ดคุณ คิดถึงสิ่งที่รบกวน หยุด flow หรือต้องหาตัวอย่างทุกครั้ง? หาวิธีทำให้ง่ายขึ้นได้ไหม?