Komentar, Gaya, dan Keterbacaan
Tulis kode R yang rapi dan terdokumentasi mengikuti panduan gaya tidyverse.
Komentar, Gaya, dan Keterbacaan adalah pelajaran R Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar R Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus R Academy mencakup 4 pelajaran total.
Komentar Satu Baris dengan #
Dalam R, karakter # memulai komentar. Segala sesuatu mulai dari # hingga akhir baris diabaikan oleh interpreter. Komentar ditujukan untuk manusia—jelaskan mengapa, bukan hanya apa.
# This is a comment — R ignores it completely
x <- 42 # inline comment after code
# Bad comment (states the obvious):
y <- y + 1 # add 1 to y
# Good comment (explains intent):
y <- y + 1 # shift index to 1-based for output display
cat('x =', x)Judul Bagian dengan ------
Konvensi R yang banyak digunakan adalah membuat judul bagian dengan menambahkan setidaknya empat tanda hubung, tanda sama dengan, atau tanda pagar setelah teks komentar. RStudio mengenali judul ini dan menambahkannya ke kerangka dokumen agar navigasi lebih mudah.
# Data Loading -------------------------------------------------------
# This section loads raw CSV files from the data/ folder
# Data Cleaning =======================================================
# Remove duplicates and fix missing values
# Modeling ############################################################
# Fit linear model and evaluate
cat('Section headers improve navigation')Konvensi Penamaan snake_case
Panduan gaya tidyverse merekomendasikan snake_case untuk semua nama objek: kata-kata huruf kecil yang dipisahkan oleh garis bawah. Hindari titik, yang dalam bahasa lain tampak seperti pemanggilan metode, serta camelCase demi konsistensi.
# Good: snake_case
user_age <- 25
monthly_revenue <- 15000
calculate_mean <- function(x) mean(x)
# Avoid: dots in names (looks like OOP method calls)
user.age <- 25 # confusing
# Avoid: camelCase (inconsistent with tidyverse)
userAge <- 25
# Avoid: ALL_CAPS (reserved for true constants by convention)
MAX_RETRIES <- 3 # acceptable for config constants only
cat('snake_case wins')Spasi di Sekitar Operator
Selalu beri spasi di sekitar operator penetapan dan perbandingan. Hal ini sangat meningkatkan keterbacaan. Pengecualiannya adalah di dalam daftar argumen fungsi, tempat = menghubungkan nama argumen.
# Good: spaces around <- and operators
x <- 10
y <- x + 5
result <- x * y - 2
is_valid <- x > 0 & y < 100
# Bad: cramped
x<-10
y<-x+5
# Function arguments: = without extra spaces is fine
mean(x = c(1, 2, 3), na.rm = TRUE)
# Comparison operators also need spaces
if (x > 0) cat('positive')
if (x >= 0 & y <= 100) cat('in range')Gunakan <-, Bukan =, untuk Penetapan
Meskipun R mengizinkan = untuk penetapan pada tingkat teratas, konvensi kuat komunitas adalah menggunakan <- untuk penetapan objek dan mencadangkan = khusus untuk nilai argumen fungsi. Pembedaan ini membuat kode jauh lebih mudah dipahami sekilas.
# Correct: <- for assignment
name <- 'Alice'
score <- 95.5
results <- c(1, 2, 3)
# Correct: = inside function calls
round(3.14159, digits = 2)
read.csv('data.csv', header = TRUE, sep = ',')
# Avoid: = for top-level assignment
# name = 'Alice' <- works but not idiomatic
cat('Assignment convention:', name, score)Batas 80 Karakter per Baris
Menjaga panjang baris di bawah 80 karakter memastikan kode tetap mudah dibaca dalam penyunting dengan panel terbagi, halaman cetak, dan perkakas peninjauan kode. Di RStudio, Anda dapat menampilkan panduan margin pada kolom 80 melalui Tools → Global Options → Code → Display.
# Bad: one very long line (hard to read)
result <- some_function(argument_one = 'value', argument_two = 100, argument_three = TRUE, argument_four = 'long_string')
# Good: break at commas, indent continuation
result <- some_function(
argument_one = 'value',
argument_two = 100,
argument_three = TRUE,
argument_four = 'long_string'
)
cat('Readable at 80 chars')Tanpa Titik Koma
Tidak seperti JavaScript atau C, R tidak mengharuskan titik koma di akhir pernyataan. Titik koma dapat digunakan untuk menempatkan beberapa pernyataan pada satu baris, tetapi panduan gaya menyatakan: satu pernyataan per baris, tanpa titik koma.
# Bad: semicolons and multiple statements per line
x <- 1; y <- 2; z <- x + y
# Good: one statement per line
x <- 1
y <- 2
z <- x + y
# The semicolon form is only acceptable in very short
# interactive throwaway code, never in scripts
cat('z =', z)Nama Variabel yang Mudah Dibaca
Pilih nama yang deskriptif tanpa terlalu panjang. Aturan praktisnya: jika enam bulan kemudian Anda perlu berpikir lebih dari satu detik untuk memahami nama variabel, nama tersebut terlalu singkat atau terlalu samar.
# Too cryptic:
d <- read.csv('data.csv')
tmp <- d[d$v1 > 0, ]
r <- lm(v2 ~ v1, data = tmp)
# Good names:
sales_data <- read.csv('data.csv')
positive_rows <- sales_data[sales_data$revenue > 0, ]
revenue_model <- lm(profit ~ revenue, data = positive_rows)
# Avoid abbreviations that are not universally understood:
# n_obs is fine (number of observations)
# nrv is not (nobody knows what this is)
cat('Names tell the story')Kurung Kurawal dan Indentasi
Panduan gaya tidyverse menetapkan: kurung kurawal pembuka { berada pada baris yang sama, sedangkan kurung kurawal penutup } berada pada barisnya sendiri. Gunakan 2 spasi untuk indentasi, bukan tab. Indentasi yang konsisten sangat penting untuk membaca logika bertingkat.
# Good style: brace on same line, 2-space indent
if (x > 0) {
cat('positive\n')
} else {
cat('non-positive\n')
}
# Good function definition:
calculate_bmi <- function(weight_kg, height_m) {
bmi <- weight_kg / height_m^2
round(bmi, 1)
}
cat('BMI:', calculate_bmi(70, 1.75))Spasi di Dalam Kurung dan Setelah Koma
Berikan spasi setelah setiap koma, seperti dalam penulisan bahasa Indonesia, tetapi tanpa spasi sebelum koma atau tepat di dalam kurung. Ini menyerupai notasi matematika dan membuat pengindeksan mudah dibaca.
# Good: space after comma, not before
x <- c(1, 2, 3, 4, 5)
m <- matrix(1:9, nrow = 3, ncol = 3)
# Subsetting: no space before [ or inside []
first_row <- m[1, ] # good
value <- m[2, 3] # good
# Bad:
# c(1,2,3) <- no space after comma
# m[ 1, ] <- space after [
# m[1 , ] <- space before comma
cat('Spacing is consistent')Menggunakan styler dan lintr
Dua perkakas mengotomatiskan penegakan gaya dalam R. styler memformat ulang kode agar sesuai dengan panduan gaya tidyverse. lintr memeriksa kode secara statis untuk menemukan masalah gaya dan kemungkinan kesalahan tanpa menjalankannya. Keduanya terintegrasi dengan RStudio.
# styler: reformat a file automatically
# install.packages('styler')
# styler::style_file('my_script.R')
# styler: reformat the whole project
# styler::style_dir('R/')
# lintr: check for style and potential bugs
# install.packages('lintr')
# lintr::lint('my_script.R')
# lintr reports issues like:
# line 10: [object_name_linter] Variable 'myVar' should use snake_case
# line 15: [spaces_around_ops_linter] No space before '<-'
cat('Style tools: styler + lintr')Pemeriksaan Singkat
Menurut panduan gaya tidyverse, manakah cara yang benar untuk menulis pernyataan penetapan dalam R?
Gaya dan Keterbacaan — Inti Pembelajaran
Kode R dengan gaya yang baik bersifat profesional, mudah dipelihara, dan mendukung kolaborasi:
#untuk komentar—jelaskan mengapa, bukan hanya apa- Judul bagian dengan
------atau======untuk navigasi snake_caseuntuk semua nama objek dan fungsi- Spasi di sekitar
<-,+,==, dan sebagainya - Gunakan
<-untuk penetapan,=hanya dalam argumen fungsi - Maksimal 80 karakter per baris—pecah pemanggilan yang panjang menjadi beberapa baris
- Tanpa titik koma—satu pernyataan per baris
- Indentasi 2 spasi, dengan
{pembuka pada baris yang sama - Gunakan styler untuk memformat otomatis dan lintr untuk mendeteksi masalah
# Putting it all together:
# Calculate summary statistics ----------------------------------------
calculate_summary <- function(values, remove_na = TRUE) {
cleaned <- values[!is.na(values)]
list(
mean = mean(cleaned),
median = median(cleaned),
sd = sd(cleaned)
)
}
test_scores <- c(85, 90, NA, 78, 92, 88)
stats <- calculate_summary(test_scores)
cat('Mean:', stats$mean, '\n')
cat('SD: ', stats$sd)Belajar R dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 43
- Pelajaran
- 159
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Komentar, Gaya, dan Keterbacaan” gratis?
Ya — teks lengkap “Komentar, Gaya, dan Keterbacaan” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus R Academy, upgrade ke CoddyKit PRO. Kursus R Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Komentar, Gaya, dan Keterbacaan”?
Tulis kode R yang rapi dan terdokumentasi mengikuti panduan gaya tidyverse. Kamu berlatih R Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai R Academy?
Tidak diperlukan pengalaman sebelumnya. R Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.
Berapa lama pelajaran “Komentar, Gaya, dan Keterbacaan” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran R Academy ini?
Ya. Setiap pelajaran R Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Menggunakan source() untuk Memuat Skrip
- Komentar, Gaya, dan Keterbacaan
- Direktori Kerja dan Jalur File
- Proyek R dan Pengelolaan Ruang Kerja