forked from olivierlacan/keep-a-changelog
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
cc3abfd
commit 5fab948
Showing
2 changed files
with
331 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,327 @@ | ||
--- | ||
description: Pencatatan Changelog | ||
title: Pencatatan Changelog | ||
language: id-ID | ||
version: 1.0.0 | ||
--- | ||
|
||
- changelog = "https://github.com/olivierlacan/keep-a-changelog/blob/master/CHANGELOG.md" | ||
- gemnasium = "https://gemnasium.com/" | ||
- gh = "https://github.com/olivierlacan/keep-a-changelog" | ||
- issues = "https://github.com/olivierlacan/keep-a-changelog/issues" | ||
- semver = "http://semver.org/" | ||
- shields = "http://shields.io/" | ||
- thechangelog = "http://5by5.tv/changelog/127" | ||
- vandamme = "https://github.com/tech-angels/vandamme/" | ||
- iso = "http://www.iso.org/iso/home/standards/iso8601.htm" | ||
- ghr = "https://help.github.com/articles/creating-releases/" | ||
- aditya = "https://github.com/adityapurwa/" | ||
|
||
.header | ||
.title | ||
%h1 Pencatatan Changelog | ||
%h2 Standarisasi pencatatan Changelog untuk kolaborasi yang lebih baik | ||
|
||
= link_to changelog do | ||
Versi | ||
%strong= current_page.metadata[:page][:version] | ||
|
||
%pre.changelog= File.read("CHANGELOG.md") | ||
|
||
.answers | ||
%h3#what | ||
%a.anchor{ href: "#what", aria_hidden: "true" } | ||
Apa itu changelog? | ||
|
||
%p | ||
Changelog adalah sebuah file yang berisi daftar perubahan yang | ||
diurutkan secara kronologis untuk setiap versi dari sebuah project. | ||
|
||
%h3#why | ||
%a.anchor{ href: "#why", aria_hidden: "true" } | ||
Kenapa perlu untuk mencatat changelog? | ||
|
||
%p | ||
Supaya pengguna dan kontributor lebih mudah melihat perubahan | ||
apa saja yang terjadi di setiap rilis (atau versi) dari sebuah project. | ||
|
||
%h3#who | ||
%a.anchor{ href: "#who", aria_hidden: "true" } | ||
Siapa yang butuh changelog? | ||
|
||
%p | ||
Semua orang membutuhkannya. Baik pengguna ataupun pengembang, setiap | ||
orang yang menggunakan perangkat lunak adalah manusia yang peduli dengan | ||
apa yang ada di perangkat lunak tersebut. Mereka ingin tahu apa | ||
dan kenapa terjadi perubahan. | ||
|
||
.good-practices | ||
%h3#how | ||
%a.anchor{ href: "#how", aria_hidden: "true" } | ||
Bagaimana cara membuat changelog yang baik? | ||
|
||
%h4#principles | ||
%a.anchor{ href: "#principles", aria_hidden: "true" } | ||
Prinsip Dasar | ||
|
||
%ul | ||
%li | ||
Changelog ditulis untuk <em>manusia</em>, bukan mesin. | ||
%li | ||
Harus ada catatan untuk setiap versi. | ||
%li | ||
Setiap tipe perubahan yang sama harus dikelompokkan. | ||
%li | ||
Versi dan seksi harus ditulis dalam bentuk link. | ||
%li | ||
Versi yang terakhir harus ditulis di paling atas. | ||
%li | ||
Tiap catatan harus disertai dengan tanggal. | ||
%li | ||
Berikan informasi jika kalian menggunakan #{link_to "Semantic Versioning", semver}. | ||
|
||
%a.anchor{ href: "#types", aria_hidden: "true" } | ||
%h4#types Jenis-jenis perubahan | ||
|
||
%ul | ||
%li | ||
%code Added/Ditambahkan | ||
untuk fitur yang baru. | ||
%li | ||
%code Changed/Dirubah | ||
untuk perubahan di fitur yang sudah ada. | ||
%li | ||
%code Deprecated/Akan Dhilangkan | ||
untuk fitur yang akan dihapus dalam waktu dekat. | ||
%li | ||
%code Removed/Dihilangkan | ||
untuk fitur yang sudah dihapus. | ||
%li | ||
%code Fixed/Diperbaiki | ||
untuk setiap perbaikan bugs. | ||
%li | ||
%code Security/Keamanan | ||
jika ada celah keamanan. | ||
|
||
.effort | ||
|
||
%h3#effort | ||
%a.anchor{ href: "#effort", aria_hidden: "true" } | ||
Bagaimana usaha untuk menjaga changelog tetap tercatat dengan benar? | ||
|
||
%p | ||
Sisakan bagian <code>Unreleased/Belum Dirilis</code> di bagian paling atas | ||
file changelog untuk mencatat perubahan yang akan datang. | ||
|
||
|
||
%p Hal ini berguna untuk dua hal: | ||
|
||
%ul | ||
%li | ||
People can see what changes they might expect in upcoming releases | ||
Orang-orang bisa melihat perubahan apa saja yang akan datang. | ||
%li | ||
Saat waktu rilis datang, tinggal pindahkan bagian <code>Unreleased/Belum Dirilis</code> | ||
ke catatan rilis versi baru di bawah. | ||
|
||
.bad-practices | ||
%h3#bad-practices | ||
%a.anchor{ href: "#bad-practices", aria_hidden: "true" } | ||
Apakah changelog bisa menjadi tidak bermanfaat? | ||
%p Bisa, berikut beberapa skenario ketika changelog menjadi tidak bermanfaat: | ||
%h4#log-diffs | ||
%a.anchor{ href: "#log-diffs", aria_hidden: "true" } | ||
Menggunakan Commit log diffs sebagai changelog | ||
|
||
%p | ||
Menggunakan commit log diffs (catatan perbedaan setiap commit) bisa | ||
membuat changelog susah untuk dibaca. Commit dengan judul yang tidak jelas, | ||
dokumentasi perubahan, dan sebagainya, malah akan membuat | ||
changelog terlalu berisik dan susah dibaca. | ||
|
||
%p | ||
The purpose of a commit is to document a step in the evolution of | ||
the source code. Some projects clean up commits, some don't. | ||
Tujuan utama dari commit adalah untuk mencatat setiap perubahan dari source | ||
code. Beberapa project mengatur commitnya, beberapa tidak. | ||
|
||
%p | ||
Tujuan dari changelog adalah untuk mencatat perubahan yang pantas | ||
untuk dicatat, bisa jadi beberapa commit dijadikan satu catatan | ||
untuk lebih memudahkan pembaca. | ||
|
||
%h4#ignoring-deprecations | ||
%a.anchor{ href: "#ignoring-deprecations", aria_hidden: "true" } | ||
Mengabaikan Depcreations (fitur yang akan dihilangkan) | ||
%p | ||
Saat menaikkan versi, harus ditulis dengan jelas apa saja | ||
yang kira-kira bisa membuat sistem tidak berjalan. Sebaiknya | ||
terdapat versi yang mencatat apa saja yang akan dihilangkan, | ||
lalu menghapus fitur yang dihilangkan, dan naikkan lagi ke versi | ||
dengan fitur yang sudah dihilangkan. | ||
%p | ||
Jika kalian tidak merubah apapun, tetap catat fitur yang akan | ||
dihilangkan, fitur yang sudah dihilangkan, dan perubahan-perubahan | ||
lain yang bisa membuat sistem tidak berjalan. | ||
%h4#confusing-dates | ||
%a.anchor{ href: "#confusing-dates", aria_hidden: "true" } | ||
Perbedaan Format Tanggal | ||
|
||
%p | ||
Format tanggal regional berbeda-beda sesuai dengan budaya masing-masing, | ||
dan seringkali perbedaan ini susah untuk dipahami dan dimengerti. | ||
Penggunaan format tanggal <code>2017-07-17</code> lebih mudah untuk dimengerti, | ||
karena diurutkan berdasarkan unit terbesar: tahun, bulan, dan tanggal. | ||
Format ini juga merupakan #{link_to "ISO standard", iso}, sehingga | ||
inilah yang dipakai untuk pencatatan changelog. | ||
|
||
%aside | ||
Ada beberapa permasalahan lainnya, bantu kami dengan beberapa antipatterns | ||
dengan = link_to "mengirimkan issue", issues atau kirimkan pull request. | ||
|
||
.frequently-asked-questions | ||
%h3#frequently-asked-questions | ||
%a.anchor{ href: "#frequently-asked-questions", aria_hidden: "true" } | ||
Pertanyaan yang Sering Ditanyakan | ||
%h4#standard | ||
%a.anchor{ href: "#standard", aria_hidden: "true" } | ||
Is there a standard changelog format? | ||
Apakah ada standar untuk format changelog? | ||
|
||
%p | ||
Tidak, ada format GNU untuk changelog, atau format 2 paragraf GNU NEWS. | ||
Keduanya tidak benar-benar cukup, gunakan format yang disetujui tim masing-masing. | ||
|
||
%p | ||
Project ini ditujukan untuk | ||
= link_to "membuat aturan changelog yang lebih baik", changelog | ||
berdasarkan observasi beberapa changelog di komunitas open source | ||
dan menyatukan mereka. | ||
|
||
%p | ||
Kritik yang membangun, diskusi, dan saran untuk perbaikan | ||
= link_to "sangat diterima.", issues | ||
|
||
|
||
%h4#filename | ||
%a.anchor{ href: "#filename", aria_hidden: "true" } | ||
What should the changelog file be named? | ||
Apa nama file yang cocok untuk file changelog? | ||
|
||
%p | ||
Gunakan nama <code>CHANGELOG.md</code>, beberapa project | ||
menggunakan <code>HISTORY</code>, <code>NEWS</code> atau <code>RELEASE</code>. | ||
|
||
%p | ||
Sebenarnya tidak terlalu susah untuk menamai file changelog, cukup | ||
berikan nama yang mudah dikenali oleh orang-orang | ||
supaya mudah untuk dibaca. | ||
|
||
%h4#github-releases | ||
%a.anchor{ href: "#github-releases", aria_hidden: "true" } | ||
Apa itu GitHub Releases? | ||
%p | ||
#{link_to "Github Release", ghr} adalah salah satu | ||
insiatif dari GitHub untuk membuat changelog berdasarkan git tags, | ||
contohnya, tag dengan nama <code>v1.0.0</code>. Isi dari changelog | ||
bisa ditulis manual atau menggunakan pesan yang ditulis bersamaan dengan | ||
tags. | ||
%p | ||
GitHub Releases membuat changelog yang tidak portable dan hanya bisa | ||
bekerja dengan baik di lingkup GitHub. Sangat mungkin untuk | ||
membuat GitHub Releases terlihat mirip dengan format pencatatan changelog | ||
yang dijelaskan di sini, tapi butuh usaha ekstra. | ||
%p | ||
Versi GitHub releases yang sekarang juga tidak terlalu umum | ||
untuk orang-orang, dan hanya bisa dibuka melalui sub menu | ||
di GitHub, berbeda dengan file-file seperti | ||
(<code>README</code>, <code>CONTRIBUTING</code>, dsb.) yang | ||
langsung terlihat saat project pertama kali dibuka. Keterbatasan lainnya | ||
adalah tidak adanya link di GitHub releases. | ||
%h4#automatic | ||
%a.anchor{ href: "#automatic", aria_hidden: "true" } | ||
Apakah Changelog Bisa Diparse Secara Otomatis? | ||
|
||
%p | ||
Susah, karena orang-orang menggunakan versi dan format | ||
changelog yang berbeda-beda. | ||
|
||
%p | ||
#{link_to "Vandamme", vandamme} adalah Ruby Gem yang dibuat oleh tim | ||
#{link_to "Gemnasium", gemnasium} yang bisa memparse (but | ||
not all) changelog beberapa project open source. | ||
|
||
|
||
%h4#yanked | ||
%a.anchor{ href: "#yanked", aria_hidden: "true" } | ||
Bagaimana dengan Rilis YANKED (rilis yang dibatalkan)? | ||
|
||
%p | ||
Rilis yang dibatalkan adalah rilis yang dibatalkan, bisa jadi | ||
karena ada bug yang fatal dan permasalahan keamanan. Versi | ||
ini sering tidak dimasukkan ke changelog, padahal seharusnya ditulis | ||
sebagaimana berikut. | ||
|
||
%p <code>## 0.0.5 - 2014-12-13 [YANKED/DIBATALKAN]</code> | ||
|
||
%p | ||
Tag <code>[YANKED/DIBATALKAN]</code> ditulis dengan jelas supaya | ||
orang memperhatikannya, dan dikurung dengan kurung kotak supaya | ||
mudah untuk diparse. | ||
|
||
|
||
%h4#rewrite | ||
%a.anchor{ href: "#rewrite", aria_hidden: "true" } | ||
Bolehkan Menulis Ulang Changelog? | ||
|
||
%p | ||
Tentu saja, ada banyak alasan bagus untuk menulis ulang changelog, | ||
salah satunya untuk rilis-rilis yang lupa untuk dituliskan di | ||
beberapa project. | ||
|
||
%p | ||
Juga sangat mungkin saat menulis ulang, kalian ingat tentang perubahan | ||
yang bisa membuat sistem tidak bekerja yang belum dituliskan. Dalam hal ini, | ||
sangat penting untuk merubah changelog supaya datanya lebih akurat. | ||
|
||
|
||
%h4#contribute | ||
%a.anchor{ href: "#contribute", aria_hidden: "true" } | ||
Bagaimana Saya Bisa Berkontribusi? | ||
|
||
%p | ||
Dokumen ini bukan kebenaran absolut, ini hanyalah opini yang dikumpulkan | ||
dari beberapa informasi dan contoh yang kami kumpulkan. | ||
|
||
%p | ||
Ini karena kami ingin komunitasi terus berdiskusi untuk mencapai konsensus | ||
yang terbaik untuk pencatatan changelog. | ||
|
||
%p | ||
Jadi silahkan, <strong>#{link_to "kirimkan saran", gh}</strong>. | ||
|
||
%h4#about-translation | ||
%a.anchor{ href: "#about-translation", aria_hidden: "true" } | ||
Tentang Terjemahan Bahasa Indonesia | ||
%p | ||
Terjemahan Bahasa Indonesia diterjemahkan oleh #{link_to "Aditya Purwa", aditya}, silahkan | ||
sampaikan jika ada terjemahan yang lebih baik. | ||
.press | ||
%h3 Conversations | ||
%p | ||
Kami mengisi acara di #{link_to "The Changelog podcast", thechangelog} | ||
untuk berbicara tentang kenapa maintainer dan kontributor harus peduli | ||
dengan changelog, dan motivasi dari project ini. |