summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShulhan <m.shulhan@gmail.com>2021-05-13 05:43:45 +0700
committerShulhan <m.shulhan@gmail.com>2021-05-13 05:43:45 +0700
commit1627936c637c80120cf921632f8134081e45cd78 (patch)
treed85b4bed2e1aaccc20f9ebdfbd4f21b68d7a461a
parent2bfd68f3cf730595f0cdd18ca446ad2ed40dc25b (diff)
downloadgolang-id-web-1627936c637c80120cf921632f8134081e45cd78.tar.xz
_content: terjemahkan dokumentasi perintah "cmd/{cover,fix,gofmt,vet}"
* /cmd/cover: Cover adalah sebuah program untuk menganalisis hasil liputan _profile_ yang dibangkitkan oleh 'go test -coverprofile=cover.out'. * /cmd/fix: Program `fix` membaca sumber kode Go dan mencari penggunaan fitur-fitur lama dari bahasa dan pustaka dan menggantinya dengan yang baru. * /cmd/gofmt: Program `fmt` memformat sumber berkas Go. * /cmd/godoc: Program `godoc` mengekstrak dan membangkitkan dokumentasi dari paket-paket Go. * /cmd/vet: Program `vet` memeriksa kode sumber dan melaporkan konstruksi yang mencurigakan, seperti pemanggilan `Printf` dengan argumen yang tidak sesuai dengan formatnya.
-rw-r--r--_content/cmd/cover/index.adoc25
-rw-r--r--_content/cmd/fix/index.adoc37
-rw-r--r--_content/cmd/gofmt/index.adoc157
-rw-r--r--_content/cmd/vet/index.adoc83
-rw-r--r--_content/doc/cmd/index.adoc26
5 files changed, 322 insertions, 6 deletions
diff --git a/_content/cmd/cover/index.adoc b/_content/cmd/cover/index.adoc
new file mode 100644
index 0000000..9904817
--- /dev/null
+++ b/_content/cmd/cover/index.adoc
@@ -0,0 +1,25 @@
+= Perintah cover
+
+Cover adalah sebuah program untuk menganalisis hasil liputan _profile_ yang
+dibangkitkan oleh 'go test -coverprofile=cover.out'.
+
+Cover juga digunakan oleh 'go test -cover' untuk menulis ulang sumber kode
+dengan menambahkan anotasi untuk melacak bagian dari fungsi yang dieksekusi.
+Program ini beroperasi pada sumber berkas Go satu per satu, memproses
+informasi dasar setiap blok perintah dengan mempelajari sumber kode-nya.
+Oleh karena itu, program cover lebih portabel daripada perkakas _coverage_
+yang menulis-ulang _binary_, namun memiliki fungsi yang lebih sedikit.
+Contohnya, ia tidak menyelidiki ekspresi di dalam `&&` dan `||`, dan sedikit
+kebingungan bila sebuah perintah memiliki banyak fungsi.
+
+Saat memproses _coverage_ dari sebuah paket yang menggunakan cgo, perkakas
+cover harus diaplikasikan ke hasil dari pra-pemrosesan dari cgo, bukan
+input-nya, secara program cover menghapus komentar-komentar yang penting untuk
+cgo.
+
+Untuk informasi penggunaan, silakan lihat:
+
+----
+go help testflag
+go tool cover -help
+----
diff --git a/_content/cmd/fix/index.adoc b/_content/cmd/fix/index.adoc
new file mode 100644
index 0000000..8b342f7
--- /dev/null
+++ b/_content/cmd/fix/index.adoc
@@ -0,0 +1,37 @@
+= Program fix
+
+Program `fix` membaca sumber kode Go dan mencari penggunaan fitur-fitur
+lama dari bahasa dan pustaka dan menggantinya dengan yang baru.
+Setelah Anda memasang rilis Go terbaru, `fix` membantu Anda membuat perubahan
+yang diperlukan terhadap sumber kode Go Anda.
+
+Penggunaan:
+
+----
+go tool fix [-r name,...] [path ...]
+----
+
+Bila parameter "path" tidak diberikan, `fix` akan membaca standar input dan
+menulis hasilnya ke standar keluaran.
+
+Jika "path" adalah sebuah berkas, `fix` menulis ulang berkas tersebut.
+Jika "path" adalah sebuah direktori, `fix` menulis ulang semua berkas .go di
+dalam direktori tersebut.
+Saat `fix` menulis ulang sebuah berkas, ia akan menulis sebuah baris ke
+_standard error_ yang menjelaskan nama berkas dan perbaikan yang diterapkan.
+
+Jika opsi `-diff` di-set, tidak ada berkas yang ditulis ulang.
+Melainkan, `fix` mencetak perbedaan dari perbaikan yang akan diterapkan.
+
+Opsi `-r` membatasi kumpulan perbaikan yang akan diterapkan berdasarkan nilai
+yang diberikan.
+Secara bawaan, `fix` menerapkan semua perbaikan yang diketahui.
+Perbaikan yang dilakukan oleh `fix` adalah _idempotent_, sehingga aman untuk
+menjalankan `fix` ke sebagian kode bahkan tanpa menggunakan opsi `-r`.
+
+Untuk melihat daftar perbaikan yang dapat diterapkan, jalankan 'go tool fix
+-help'.
+
+Program `fix` tidak membuat salinan dari berkas yang ia tulis ulang.
+Gunakan fungsionalitas sistem _version control_ "diff" untuk memeriksa
+perubahan yang dibuat oleh `fix` sebelum menyimpannya.
diff --git a/_content/cmd/gofmt/index.adoc b/_content/cmd/gofmt/index.adoc
new file mode 100644
index 0000000..fabdc9a
--- /dev/null
+++ b/_content/cmd/gofmt/index.adoc
@@ -0,0 +1,157 @@
+= Perintah gofmt
+
+Perintah `gofmt` memformat program Go.
+Ia menggunakan tab untuk indentasi dan spasi untuk penjajaran.
+Penjajaran mengasumsikan bahwa _editor_ menggunakan font dengan lebar-tetap.
+
+Penggunaan:
+
+----
+gofmt [flags] [path ...]
+----
+
+Tanpa argumen "path", ia akan memroses standar input.
+Jika "path" adalah sebuah berkas, ia akan memroses berkas tersebut;
+bila diberikan sebuah direktori, ia akan memroses semua berkas .go dalam
+direktori tersebut, secara rekursif.
+(Berkas yang diawali dengan titik akan diindahkan.)
+Secara bawaan, `gofmt` mencetak sumber kode yang diformat ke standar keluaran.
+
+Opsi "flags" berupa:
+
+`-d`::
+ Jangan cetak sumber kode yang telah diformat ke standar keluaran.
+ Jika format sebuah berkas berbeda dengan hasil `gofmt`, cetak perbedaannya
+ ke standar keluaran.
+`-e`::
+ Cetak semua eror.
+`-l`::
+ Jangan cetak sumber kode yang telah diformat ke standar output.
+ Jika format sebuah berkas berbeda dengan hasil `gofmt`, cetak nama berkas
+ tersebut ke standar keluaran.
+`-G`::
+ Aktifkan kode generik, menggunakan parameter tipe.
+ Lihat golang.org/issues/43651 untuk informasi lebih lanjut.
+`-r rule`::
+ Terapkan aturan penulisan ulang terhadap sumber berkas sebelum melakukan
+ pemformatan.
+`-s`::
+ Coba sederhanakan kode (setelah menerapkan aturan tulis-ulang, jika ada).
+`-w`::
+ Jangan cetak sumber kode yang telah diformat ke standar keluaran.
+ Jika format sebuah berkas berbeda dengan hasil `gofmt`, timpa dengan hasil
+ `gofmt`.
+ Jika eror terjadi saat penimpaan, berkas yang asli dikembalikan dari
+ cadangan.
+
+Dukungan pelacakan:
+
+`-cpuprofile filename`::
+ Tulis _profile_ CPU ke berkas yang ditentukan.
+
+Aturan penulisan-ulang yang ditentukan lewat opsi `-r` haruslah berupa sebuah
+string dengan format berikut:
+
+----
+pola -> pengganti
+----
+
+Parameter "pola" dan "pengganti" haruslah berupa ekspresi Go yang valid.
+Pada parameter "pola", identifikasi karakter-tunggal huruf kecil berlaku
+sebagai pencocokan _wildcard_ terhadap sub-ekspresi apa pun;
+ekspresi-ekspresi tersebut akan diganti dengan identifikasi yang sama dengan
+parameter "pengganti".
+
+Saat `gofmt` membaca dari standar input, ia dapat menerima seluruh atau
+potongan dari program Go.
+Bila potongan dari program Go diberikan, ia haruslah secara sintaksis berupa
+deklarasi, perintah, atau ekspresi yang valid.
+Saat memformat potongan kode tersebut, `gofmt` menjaga indentasi berikut
+dengan spasi pada awal dan akhir setiap baris, supaya bagian-bagian individu
+dari program Go tersebut dapat diformat dengan mengirimnya ke `gofmt`.
+
+
+=== Examples
+
+Untuk memeriksa berkas-berkas yang memiliki kurung yang berlebihan:
+
+----
+gofmt -r '(a) -> a' -l *.go
+----
+
+Untuk menghapus tanda kurung yang berlebihan:
+
+----
+gofmt -r '(a) -> a' -w *.go
+----
+
+Untuk mengonversi isi paket dari menggunakan batas atas slice yang eksplisit
+menjadi implisit:
+
+----
+gofmt -r 'α[β:len(α)] -> α[β:]' -w $GOROOT/src
+----
+
+
+=== Perintah penyederhanaan
+
+Saat dipanggil dengan argumen `-s`, perintah `gofmt` akan membuat transformasi
+kode berikut bila memungkinkan.
+
+* Array, slice atau map dalam bentuk:
++
+----
+[]T{T{}, T{}}
+----
++
+akan disederhanakan menjadi:
++
+----
+[]T{{}, {}}
+----
+
+* Ekspresi slice dalam bentuk:
++
+----
+s[a:len(s)]
+----
++
+akan disederhanakan menjadi:
++
+----
+s[a:]
+----
+
+* Perintah `range` dalam bentuk:
++
+----
+for x, _ = range v {...}
+----
++
+akan disederhanakan menjadi:
++
+----
+for x = range v {...}
+----
+
+* Perintah `range` dalam bentuk:
++
+----
+for _ = range v {...}
+----
++
+akan disederhanakan menjadi:
++
+----
+for range v {...}
+----
+
+Hasilnya bisa jadi perubahan yang tidak kompatibel dengan versi Go sebelumnya.
+
+
+== Bug
+
+☞ Implementasi dari `-r` sedikit lambat.
+
+☞ Jika `-w` gagal, berkas asli yang dikembalikan bisa jadi tidak memiliki
+atribut berkas yang sama dengan yang asli.
diff --git a/_content/cmd/vet/index.adoc b/_content/cmd/vet/index.adoc
new file mode 100644
index 0000000..ceca586
--- /dev/null
+++ b/_content/cmd/vet/index.adoc
@@ -0,0 +1,83 @@
+= Program vet
+
+Program `vet` memeriksa kode sumber dan melaporkan konstruksi yang
+mencurigakan, seperti pemanggilan `Printf` dengan argumen yang tidak sesuai
+dengan formatnya.
+Vet menggunakan heuristik yang tidak menjamin semua laporan adalah masalah
+yang benar, namun ia bisa menemukan eror yang tidak bisa ditangkap oleh
+_compiler_.
+
+Program `vet` biasanya dipanggil lewat perintah `go`.
+Perintah berikut memeriksa paket dalam direktori yang sekarang:
+
+----
+go vet
+----
+
+perintah berikut ini memeriksa paket-paket berdasarkan path yang diberikan:
+
+----
+go vet my/project/...
+----
+
+Gunakan "go help packages" untuk melihat cara lain untuk menentukan
+paket-paket yang akan di-vet.
+
+Kode keluaran dari `vet` adalah selain-nol untuk cara pemanggilan perkakas
+yang salah atau bila ada masalah yang dilaporkan, dan 0 bila sukses.
+Ingatlah bahwa `vet` tidak memeriksa setiap kemungkinan masalah dan bergantung
+pada heuristik yang tidak terjamin, jadi sebaiknya hanya digunakan sebagai
+panduan saja, bukan sebagai indikator dari kebenaran.
+
+Untuk melihat daftar pemeriksaan, jalankan "go tool vet help":
+
+`asmdecl`:: laporkan ketidak-sesuaian antara berkas _assembly_ dan deklarasi
+ Go.
+`assign`:: periksa penempatan yang tidak berguna.
+`atomic`:: periksa kesalahan umum dari penggunakan paket `sync/atomic`.
+`bools`:: periksa kesalahan umum dari operator boolean.
+`buildtag`:: periksa bahwa tag `+build` ditulis dan berada pada lokasi
+ yang benar.
+`cgocall`:: deteksi pelanggaran dari aturan pengiriman pointer dari cgo.
+`composites`:: periksa penulisan komposit tanpa _key_.
+`copylocks`:: periksa penguncian (mutex) yang dikirim dengan nilai.
+`httpresponse`:: periksa kesalahan menggunakan HTTP respons.
+`loopclosure`:: periksa referensi ke variabel dalam loop dari dalam fungsi
+ yang bersarang.
+`lostcancel`:: periksa fungsi pembatalan yang dikembalikan oleh
+`context.WithCancel`.
+`nilfunc`:: periksa pembandingan antara fungsi dan nil yang tidak berguna.
+`printf`:: periksa konsistensi dari format Printf dan argumennya.
+`shift`:: periksa operasi `shift` yang sama atau melebihi ukuran dari integer.
+`stdmethods`:: periksa penanda method dari interface yang dikenal.
+`structtag`:: periksa tag pada field pada struct apakah sesuai dengan
+ `reflect.StructTag.Get`.
+`tests`:: periksa kesalahan umum penggunaan dari deklarasi fungsi `TestXxx`
+ dan `ExampleXxx`.
+`unmarshal`:: laporkan pengiriman nilai-nilai selain pointer atau selain
+ interface pada saat melakukan unmarshal.
+`unreachable`:: periksa kode yang tidak terpakai.
+`unsafeptr`:: periksa konversi yang tidak valid dari `uintptr` ke
+ `unsafe.Pointer`.
+`unusedresult`:: periksa nilai kembalian dari pemanggilan fungsi yang tidak
+ digunakan.
+
+Untuk detail dan opsi dari setiap pemeriksaan, seperti `printf`, jalankan
+"go tool vet help printf".
+
+Secara bawaan, semua pemeriksaan dilakukan.
+Jika ada opsi yang secara eksplisit di-set ke "true", maka hanya opsi tersebut
+yang dijalankan.
+Sebaliknya, bila ada opsi yang di-set ke "false", hanya opsi tersebut yang
+tidak dijalankan.
+Maka `-printf=true` menjalankan pemeriksaan `printf`, dan `-printf=false`
+menjalankan semua pemeriksaan kecuali yang `printf`.
+
+Untuk informasi mengenai pembuatan pemeriksaan yang baru, lihat
+https://golang.org/x/tools/go/analysis[x/tools: go analysis^].
+
+Opsi-opsi inti:
+
+`-c=N`:: tampilkan baris yang menimbulkan masalah ditambah N baris yang
+ melingkupi konteks kesalahan tersebut.
+`-json`:: tampilkan diagnosis analisis (dan eror) dalam format JSON.
diff --git a/_content/doc/cmd/index.adoc b/_content/doc/cmd/index.adoc
index f4e0e3b..b985414 100644
--- a/_content/doc/cmd/index.adoc
+++ b/_content/doc/cmd/index.adoc
@@ -22,9 +22,23 @@ bernama `gofmt` dan `godoc` karena sering kali digunakan.
Klik pada tautan berikut untuk membaca dokumentasi lebih lanjut, metode
pemanggilan, dan detail penggunaan.
-link:/cmd/go/[go]:: Program `go` mengatur sumber kode Go and menjalankan
-perintah lainnya.
-Lihat dokumentasi perintah untuk penggunaan lebih detail.
-
-link:/cmd/cgo/[cgo]:: Program cgo membolehkan pembuatan paket Go yang
-memanggil kode C.
+link:/cmd/go/[go]::
+ Program `go` mengatur sumber kode Go and menjalankan perintah lainnya.
+ Lihat dokumentasi perintah untuk penggunaan lebih detail.
+link:/cmd/cgo/[cgo]::
+ Program cgo membolehkan pembuatan paket Go yang memanggil kode C.
+link:/cmd/cover/[cover]::
+ Cover adalah sebuah program untuk membuat dan menganalisis hasil liputan
+ _profile_ yang dibangkitkan lewat "go test -coverprofile".
+link:/cmd/fix/[fix]::
+ Program `fix` membaca sumber kode Go dan mencari penggunaan fitur-fitur
+ lama dari bahasa dan pustaka dan menggantinya dengan yang baru.
+link:/cmd/gofmt/[fmt]::
+ Program `fmt` memformat sumber berkas Go.
+https://pkg.go.dev/golang.org/x/tools/cmd/godoc[godoc^]::
+ Program `godoc` mengekstrak dan membangkitkan dokumentasi dari paket-paket
+ Go.
+link:/cmd/vet/[vet]::
+ Program `vet` memeriksa kode sumber dan melaporkan konstruksi yang
+ mencurigakan, seperti pemanggilan `Printf` dengan argumen yang tidak
+ sesuai dengan formatnya.