Bu garip bir boşluk bırakıyor mu?


9

Başka bir programcı kodunu okurken hiç görmediğim bir format kullanıyor. ÖRNEĞİN

    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

Kabul edeceğim ... bu kod beni kızdırıyor. Bu stile ulaşmak zor. Birinin IDE, visual studio tarafından sağlanan varsayılan biçimlendirmeyle mücadele etmesi gerekiyor.

Bu tarzın iyi bir nedeni olduğunu bilsem, bu hapı biraz daha yutabilirdim. Bu stil başka bir programlama dilinden / IDE'den mi kaynaklanıyor?


5
Bu sadece tuhaf. 18 yıllık gelişimim boyunca bu sözleşmeyi hiç görmedim.
26 17

5
Tahmin etmek zorunda kalsaydım, programcının hiç parantezlere ihtiyaç duyma konusunda biraz üzgün olan ve sözdiziminin tüm alt belirteçlerine girintili olarak kullanılan bir Python dönüşümü olduğunu söyleyebilirim.
Telastyn

21
CTRL K + CTRL D!
RYFN

2
@Zeus - Ah bu alışılmadık biçimlendirme çözmek beni çok zaman kazandıracak olan Tanrım! Bunun için bazı cevap noktaları almalısınız.
B.Brian.Mackey

1
Bu yeniden biçimlendirme kısayolu (Ctrl K + Ctrl D), HTML dosyaları ve Visual Studio'daki diğer biçimler üzerinde de çalışır.
Oded

Yanıtlar:


19

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

Wishart stili olarak da adlandırılan Whitesmiths stili, daha az yaygındır, bugün ilk ticari C derleyicisi olan Whitesmiths Derleyicisi'nin belgelerinde kullanılmıştır . Üç etkili, Windows programlama kitaplarında kullanıldı, çünkü aynı zamanda Windows'un ilk günlerinde popüler oldu, Programcı Windows Kılavuzu Durant, Carlson & Yao tarafından, Windows'u Programlama Petzold tarafından ve programlama teknikleri, Windows 3.0 Güç Norton & Yao tarafından .. .

Bu stil, bir kontrol ifadesiyle ilişkilendirilmiş ayracı bir sonraki satıra yerleştirir, girintili. Parantez içindeki ifadeler parantez ile aynı seviyeye girintilidir ...

Bu stilin avantajları, blokların kontrol ifadelerinden açıkça ayrıldığı için Allman stilinin avantajlarına benzer . Ancak Whitesmiths stilinde, blok boşlukla çevrili ilişkisiz bir kod bloğu gibi görünmek yerine hala kontrol deyimine görsel olarak bağlıdır. Diğer bir avantaj, parantezlerin blokla hizalanmasının, tüm bloğun kavramsal olarak (programlı olarak) tek bir bileşik ifadesi olduğunu vurgulamasıdır. Ayrıca, parantezlerin girintilenmesi, kontrol ifadesine tabi olduklarını vurgular.

Bu stilin önerilen bir dezavantajı, bitiş desteğinin artık kavramsal olarak ait olduğu ifadeyle aynı çizgide olmamasıdır. Ancak, kapanış ayracı kontrol açıklamasına değil açılış ayrağına aittir ...

Yine de hiç uygulanmadığımı gördüm, teşekkürler IPU.

Eclipse, c ++ için yerleşik bir Whitesmith kod stiline sahiptir ... herkesin bu dilde aynı stili kullanması gerektiği için Java ile vidalanabilirsiniz.


4
oh um "teşekkürler IPU" ne anlama geliyor? Google bana söylemeyecek ...
amara

4
Görünmez Pembe Tek Boynuzlu At. en.wikipedia.org/wiki/Invisible_Pink_Unicorn
Scott C Wilson

Beyazlar stili, satırın sonunda sekmeler içermez. Bir hattın başlangıcında herhangi bir yerdeki sekmeler kötüdür ve ateşle öldürülmesi gerekir.
tdammers

6

İş arkadaşınızın kodlama stili tuhaf, çirkin ve okunması zor olsa da:

  1. kodlama standartlarınız yoksa, biçimlendirmeleri her zaman olduğu gibi geçerlidir.

  2. kodlarını, kendileri tarafından yazılan bir dosyaya her dokunduğunuzda yeniden biçimlendirirseniz, değişiklikleri izlemenin çok zor olduğunu görürsünüz - VCS'nizi kullanarak bir fark yaparsanız, tüm kod satırları değişmediyse birçoğu değişecektir.

Bu nedenle kodlama standartlarına sahip olmalısınız, herkesin ne yapması gerektiğini bilmesini ve takılmadıysa yeniden biçimlendirmeyi haklı çıkarmayı kolaylaştırır.

Hâlâ şirketinizde çalışıyorlarsa, onlarla bunun hakkında konuşmayı denediniz mi?


Bu kişi benim zamanımdan beri gitti. Şimdi, microsoft framework tasarım yönergelerine uyuyoruz.
B.Brian.Mackey

9
Bu durumda, değişiklik yapmadan önce (belirli bir değişikliğin izlenmesini kolaylaştırmak için) kod yeniden biçimlendirmesini ayrı bir check-in (örn., Ctrl K + Ctrl D) olarak kontrol etmenizi öneririm.
Brian
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.