Apakah ini jarak canggung beberapa jenis gaya?


9

Dalam membaca kode programmer lain, dia menggunakan format yang belum pernah saya lihat. MISALNYA

    namespace MyNs.HereWeAre
         {//tab here for some reason
         public class SomeClass
               {//here's another tab
               public string Method()
                    {//yet another tab
                    string _variable = "";//no tab implementation
                    return _variable;
                    }
               }//eof - class  (Yes these eof comments are on every file)
        }//eof - namespace
// eof - file

Saya akui ... kode ini membuat saya marah. Sulit untuk mencapai gaya ini. Kita perlu melawan format default yang disediakan oleh IDE, studio visual.

Saya bisa menelan pil ini sedikit lebih mudah jika saya tahu ada alasan bagus untuk gaya ini. Apakah gaya ini berasal dari beberapa bahasa pemrograman / IDE lain?


5
Itu aneh sekali. Dalam 18 tahun perkembangan saya, saya belum pernah melihat konvensi itu.
17 dari 26

5
Jika saya harus menebak, saya akan mengatakan programmer adalah Python convert yang agak kesal karena membutuhkan kawat gigi sama sekali dan digunakan untuk membuat indentasi semua sub-token sintaks.
Telastyn

21
CTRL K + CTRL D!
RYFN

2
@Zeus - Ya ampun, itu akan menyelamatkan saya begitu banyak waktu menyelesaikan pemformatan yang tidak konvensional ini !! Anda harus mendapatkan beberapa poin jawaban untuk itu.
P.Brian.Mackey

1
Shortcut pemformatan ulang (Ctrl K + Ctrl D) ini juga berfungsi pada file HTML dan format lain di Visual Studio.
Oded

Jawaban:


19

Ya: http://en.wikipedia.org/wiki/Indent_style#Whitesmiths_style

Gaya Whitesmiths, juga disebut gaya Wishart pada tingkat yang lebih rendah, kurang umum hari ini ... Awalnya digunakan dalam dokumentasi untuk kompiler C komersial pertama, Kompiler Whitesmiths . Itu juga populer di hari-hari awal Windows, karena digunakan dalam tiga buku pemrograman Windows yang berpengaruh, Panduan Programmer untuk Windows oleh Durant, Carlson & Yao, Pemrograman Windows oleh Petzold, dan Teknik Pemrograman Daya Windows 3.0 oleh Norton & Yao .. .

Gaya ini menempatkan penjepit yang terkait dengan pernyataan kontrol pada baris berikutnya, di-indentasi. Pernyataan di dalam kawat gigi itu indentasi ke tingkat yang sama seperti kawat gigi ...

Kelebihan gaya ini mirip dengan gaya Allman di mana blok secara jelas dipisahkan dari pernyataan kontrol. Namun dengan gaya Whitesmiths, blok ini masih terhubung secara visual ke pernyataan kontrolnya alih-alih terlihat seperti blok kode yang tidak terkait dikelilingi oleh spasi. Keuntungan lain adalah bahwa penjajaran kawat gigi dengan blok menekankan fakta bahwa seluruh blok secara konseptual (serta secara terprogram) pernyataan majemuk tunggal. Selain itu, indentasi kawat gigi menekankan bahwa mereka lebih rendah dari pernyataan kontrol.

Kerugian yang disarankan dari gaya ini adalah bahwa brace akhir tidak lagi sejalan dengan pernyataan yang secara konseptual menjadi miliknya. Namun, brace penutupan milik brace pembuka dan bukan ke pernyataan kontrol ...

Itu yang saya belum pernah lihat dipraktekkan, terima kasih IPU.

Eclipse memiliki gaya kode Whitesmith bawaan untuk c ++ ... Anda mungkin kacau dengan Java karena setiap orang seharusnya menggunakan gaya yang sama dalam bahasa itu.


4
oh um apa maksudnya "terima kasih IPU"? Google tidak akan memberi tahu saya ...
amara


Gaya Whitesmiths tidak termasuk tab di akhir baris. Tab mana saja kecuali pada awal garis adalah jahat dan perlu dibunuh dengan api.
Pelaku

6

Sementara gaya pengkodean rekan Anda aneh, jelek dan sulit dibaca:

  1. jika Anda tidak memiliki standar pengkodean, maka pemformatannya sama validnya dengan apa pun.

  2. jika Anda memformat ulang kode mereka setiap kali Anda menyentuh file yang ditulis oleh mereka, Anda akan merasa sangat sulit untuk melacak perubahan - jika Anda melakukan diff menggunakan VCS Anda, maka banyak jika tidak semua baris kode akan berubah.

Inilah sebabnya mengapa Anda harus memiliki standar pengkodean, membuatnya lebih mudah bagi semua orang untuk mengetahui apa yang harus mereka lakukan dan lebih mudah untuk membenarkan pemformatan ulang jika mereka belum melakukannya.

Jika mereka masih bekerja di perusahaan Anda, sudahkah Anda mencoba membicarakannya dengan mereka?


Orang ini sudah lama hilang karena waktuku. Sekarang, kita pergi dengan pedoman desain kerangka kerja microsoft.
P.Brian.Mackey

9
Dalam hal ini, saya sarankan memeriksa di reformat kode sebagai check-in yang terpisah (misalnya, Ctrl K + Ctrl D) sebelum membuat perubahan (untuk membuat perubahan spesifik lebih mudah dilacak).
Brian
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.