ข้อกำหนดในการตั้งชื่อตัวแปรและฟังก์ชันใดที่คุณชอบในรหัส R
เท่าที่ฉันสามารถบอกได้มีอนุสัญญาที่แตกต่างกันหลายฉบับซึ่งทั้งหมดนี้อยู่ร่วมกันในความสามัคคี cacophonous:
1. การใช้ตัวคั่นจุดเช่น
stock.prices <- c(12.01, 10.12)
col.names <- c('symbol','price')
จุดเด่น: มีความสำคัญทางประวัติศาสตร์ในชุมชน R ที่แพร่หลายทั่ว R หลักและแนะนำโดยคู่มือสไตล์ของ Google R
จุดด้อย: มีความหมายแฝงเชิงวัตถุและสร้างความสับสนให้กับมือใหม่ R
2. การใช้เครื่องหมายขีดล่าง
stock_prices <- c(12.01, 10.12)
col_names <- c('symbol','price')
ข้อดี: การประชุมทั่วไปในการเขียนโปรแกรมหลายภาษา; เป็นที่ชื่นชอบของคู่มือสไตล์ของ Hadley Wickhamและใช้ในแพ็คเกจ ggplot2 และ plyr
จุดด้อย: โปรแกรมเมอร์ R ไม่ได้ใช้ในอดีต ถูกแมปกับตัวดำเนินการ '<-' ใน Emacs-Speaks-Statistics อย่างน่ารำคาญ (แก้ไขได้ด้วย 'ess-toggle-underscore')
3. การใช้ตัวพิมพ์ใหญ่แบบผสม (camelCase)
stockPrices <- c(12.01, 10.12)
colNames <- c('symbol','price')
ข้อดี:ดูเหมือนจะมีการยอมรับอย่างกว้างขวางในชุมชนภาษาต่างๆ
จุดด้อย:มีแบบอย่างล่าสุด แต่ไม่ได้ใช้ในอดีต (ในฐาน R หรือเอกสารประกอบ)
สุดท้ายนี้ราวกับว่ามันไม่สับสนพอฉันควรจะชี้ให้เห็นว่า Google Style Guide ระบุถึงสัญลักษณ์จุดสำหรับตัวแปร แต่การใช้ตัวพิมพ์ใหญ่แบบผสมสำหรับฟังก์ชัน
การขาดรูปแบบที่สอดคล้องกันในแพ็คเกจ R เป็นปัญหาในหลายระดับ จากมุมมองของนักพัฒนาซอฟต์แวร์ทำให้การดูแลรักษาและการขยายโค้ดของผู้อื่นเป็นเรื่องยาก (โดยเฉพาะที่รูปแบบไม่สอดคล้องกับของคุณเอง) จากมุมมองของผู้ใช้ R ไวยากรณ์ที่ไม่สอดคล้องกันทำให้เส้นโค้งการเรียนรู้ของ R เพิ่มขึ้นโดยการคูณวิธีที่แนวคิดอาจแสดงออกมา (เช่นฟังก์ชันการหล่อวันที่เป็นวันที่ (), as.date () หรือ as_date ()? วันที่ ())
ImfDataTransformed
หรือรุ่นขยายตามธรรมชาติIMFDataTransformed
นั้นอ่านไม่ง่ายเหมือนกับ TOGGLEcamelCase ที่ฉันต้องการ: IMFdataTransformed
...
alllowercase
ชื่อตัวแปรและความอุดมสมบูรณ์ของตรงจากที่สมชื่อที่สั้นมาก (x
,y
ฯลฯ )