Apa standar untuk lekukan dalam skrip shell? [Tutup]

58

Komunitas Jawa menggunakan 4 ruang sebagai unit indentasi. 1
Komunitas Ruby menggunakan 2 ruang yang umumnya disepakati. 2

Apa standar untuk lekukan dalam skrip shell? 2 atau 4 spasi atau 1 tab?

Arturo Herrero
sumber
42
Standar sangat bagus. Kami punya begitu banyak dari mereka untuk dipilih ...
Shadur
1
Untuk yang lucu, lihat indentasi "standar" untuk skrip di /etc/init.d. Anda akan menemukan standar dua spasi, empat spasi, satu tab, dll., Digunakan dalam skrip yang berbeda, kadang-kadang beberapa dari standar tersebut dalam skrip yang sama.
cjc
1
plug shameless: biarkan bash sendiri yang memutuskan lekukan yang tepat secara otomatis: unix.stackexchange.com/questions/274888/…
Olivier Dulac
Standarnya adalah untuk menghindari karakter tab dan menampar siapa pun yang gagal mengikuti aturan sederhana itu. Sebaliknya, jumlah ruang yang Anda gunakan adalah bisnis Anda, tetapi jika Anda memilih untuk mengikuti Path of Tab maka tidak ada yang membantu Anda.
Parthian Shot
2
Jika Anda menggunakan tab, Anda dapat indentasi <<-heredocs Anda . stackoverflow.com/a/33817423/99777 Anda tidak dapat melakukannya dengan spasi. "Untuk skrip shell, menggunakan tab bukanlah masalah preferensi atau gaya; ini adalah bagaimana bahasa didefinisikan."
joeytwiddle

Jawaban:

43

Tidak ada lekukan standar dalam skrip shell yang penting.

Jawaban sedikit kurang ajar:

  • Pilih standar di tim Anda yang dapat Anda semua kerjakan, untuk mempermudah.
  • Gunakan sesuatu yang mudah dibuat editor Anda sehingga Anda tidak perlu berjuang untuk tetap berpegang pada standar.
EightBitTony
sumber
Secara historis empat spasi per tingkat indentasi mungkin bisa dibilang paling umum.
con-f-use
26

Saya belum pernah menemukan panduan gaya shell yang ditentukan, tetapi untuk pemrograman bash ini adalah yang paling populer:

Panduan Gaya Bash dan Standar Pengkodean.pdf | lug.fh-swf.de

Indentasi konstruksi program harus sesuai dengan kedalaman logika nesting. Lekukan satu langkah biasanya sejalan dengan langkah-langkah tabulator editor yang dipilih. Dalam kebanyakan kasus 2, 4 atau 8 dipilih.

diffycat
sumber
-5

Cukup buka file dengan editor vim dan mengetik gg=Gakan meng-reindent seluruh file. Saya pikir ini standar.

Shailendra Saxena
sumber
1
Itu akan indent berdasarkan nilai variabel shiftwidth(alias sw) vim. Secara default, 8 yang terkait dengan penghentian tab default di terminal. Nilai yang historis, beberapa orang menggunakan 8 ruang lekukan saat ini, aku sudah set sw=2di saya ~/.vimrcselama beberapa dekade.
Stéphane Chazelas