Kod yorumlarında #XXX'in anlamı nedir?


126

Bunu kodda çok gördüm, hatta vim bunu özel bir durum olarak işaretliyor. #TODOve #FIXMEdiğer iki düzeltme işaretçisi öne çıkıyor ama ne anlama #XXXgeliyor?


7
Soru, Python programlamadaki en iyi uygulamaları kodlama veya yorumlama hakkında sormaktır. Konuyla ilgili Python Geliştirme Önerisi tartışması var. Soru, SO'da tutulmayı hak ediyor. Yine de biraz daha iyi ifade edilebilirdi.
nik

Yanıtlar:


140

XXXbir yorumda genellikle bir uyarıdır. Olabilir:

  • Tamamen doğru uygulanmayan bir şey.
  • Daha sonra düzeltilmesi gereken bir şey.
  • Olası bir sorun noktasını vurgulamak.
  • Emin olmadığınız bir şey, bir soru.

Genellikle FIXMEveya TODOveya gibi daha açıklayıcı bir etiketi tercih ettim HACK. XXXgenellikle yukarıdakilerin tümü için bir yakalama olarak kullanılır.

FreeBSD çapraz referans kodunda 'XXX' araması , birçok kullanıma iyi bir örnektir. Binlercesi var...


Komik olan, bunu kendi başıma kullanmam. XXX veya #XXX temelde derleyiciyi açar ve bana bir şeye geri dönmemi hatırlatır. Genellikle işaretçi referansları veya önceden bilinmeyen bir değer veya değişken adı.
bobby

5
Bu benim orijinal tahminimi doğruladı. Bu, diğer programcıların bu yorumu bakılması gereken bir şey olarak vurgulamasını belirtmek için bir tümünü yakala etiketi.
Jorge Vargas

Trollemeye çalışmak yok ama "HACK" açıklayıcı değil. Aslında çok belirsizdir. Benim için en az 3 anlama gelebilir.
Ярослав Рахматуллин

2
@ ЯрославРахматуллин kaynak kodunda bunu her zaman "Bu çirkin bir hack işi, ancak yeterince işe yarıyor" anlamında okurdum - daha sonra temizlemek isteyeceğiniz bir şey, ancak acil değil. Kullanmadım (genellikle TODOveya XXXyerine kullanırım), ama ben onu böyle yorumluyorum.
Iiridayn

92
  • NOTE: Kodun nasıl çalıştığının açıklaması (kendiliğinden belli olmadığında).
  • XXX: Olası tuzaklarla ilgili uyarı, olarak kullanılabilir NOTE:XXX:.
  • HACK: Bir problemi / hatayı aşmak için çok iyi yazılmamış veya yanlış biçimlendirilmiş kod. Olarak kullanılmalıdır HACK:FIXME:.
  • FIXME: Bu işe yarıyor, ancak daha iyi yapılabilir. (genellikle yeniden yazılması gereken aceleyle yazılmış kod).
  • BUG: Burada bir sorun var.
  • TODO: Sorun değil, ancak genellikle bir şeyi atladığınızda ek kod yazılması gerekir.

En azından bu etiketler hakkında bana bu şekilde öğretildim. Temel olarak ilk ikisi ( NOTEve XXX) bilgi için kullanılır ve herhangi bir işlem yapılması gerekmez. Son üç iken ( FIXME, BUGve TODO) eylemi gerektirir. HACKarada bir yerde (ve neredeyse hiç kullanılmadığını düşünüyorum?).


3
İyi liste. Ayrıca LAZY(FIXME veya HACK kadar kritik değil) ve OCD(aşırı mühendislik bilimi) severim.
Brendan Byrd

2
XXX'i gerçekten böyle mi kullanıyorsunuz? XXX'i çok daha yüksek öncelik olarak görmeye başladım, yani "bu, bu kod revizyon kontrolüne bile gönderilmeden önce düzeltilmesi gereken bir şeydir". Google'da bu şekilde kullanılır, otomatik olarak uygulanır, bu nedenle kod incelemesi sırasında XXX'leri görebilirsiniz, ancak XXX'ler gidene kadar kodu göndermek imkansızdır. Daha uzun ömürlü yapılacaklar notları, birinin adı veya hata kimliği ekli olduğu sürece gönderilmesine izin verilen TODO
Don Hatch

21

Haziran 2005 Python Geliştirme Önerisinden reddedilen bazı notlar .

Arasında seçim yapma FIXMEve XXXzordur.
XXXdaha yaygın görünüyor, ancak çok daha az açıklayıcı.
Ayrıca, bilinmeyen bir değere sahip bir XXXkod parçasında yararlı bir yer tutucudur
.

Bu FIXME, tercih edilen yazımdır.
Sun bunu söylüyor XXXve FIXMEbiraz farklı, daha XXXyüksek şiddet veriyor .
Bununla birlikte, bu konudaki on yıllarca süren kaos ve
Sun'dan etkilenmeyecek çok sayıda milyon geliştiriciyle, onları doğru bir şekilde eş anlamlı olarak adlandırmak kolaydır.


PEP şununla başlar:

Bu PEP reddedildi. Topluluk ilgilense de
, standart kütüphaneyi bu standarda uydurma arzusu yoktur.

...

Kod Etiketleri Nedir?

Programcılar, daha yakından inceleme veya inceleme gerektiren kod bölümlerinin hatırlatıcıları olarak hizmet etmek için geçici kod yorumu işaretleme kurallarını yaygın olarak kullanır. İşaretleme örnekleri FIXME, TODO, XXX, BUG, mevcut yazılımda yaygın olarak kullanılmakta ve orada çok daha fazla ama. Bu tür işaretleme bundan böyle kod etiketleri olarak anılacaktır . Bu kod etiketleri, uygulama kodunda, birim testlerinde, komut dosyalarında, genel belgelerde veya uygun olan yerlerde görünebilir.


PEP ilginç bir okumadır.


10

PEP350'ye bir göz atın . Bu tüm açıklar TODO, XXXben kod etiketleri araçlarının tam olarak ne hatırlayamıyorum zaman vb ben o gün kullanın.


1
PEP350'nin bu etiketlerin kaynağı olup olmadığını biliyor musunuz? Bu etiketlerin nasıl kullanılacağını açıklayan (Unix döneminden) herhangi bir eski belge biliyor musunuz?
Ярослав Рахматуллин

6

Kullanıyorum XXXçünkü yazmaktan daha kolay TODO.

XXX aceleniz olduğu ve buna kendiniz döneceğiniz zamanlar içindir.

TODO başkasına devretmeniz gerektiğinde.


XXX, "Acelem var ve buna kendim döneceğim" anlamına gelir TODO, "Bu, başka birine atanacak olan gelecekteki iş yığını isteğinin resmi bir parçasıdır" anlamına gelir. Bunlar gerçek anlamlardır.
S.Lott

2
Ve bu "gerçek anlamlar" hangi RFC'de? Yoksa bunun için başka alıntı var mı?
Randall

6
@Randall: "alıntı"? Üzgünüm, çok fazla kod okuduktan sonra anladığım kadarıyla.
S.Lott



1

XXX, NOT'dan biraz farklı olan ancak HACK'e oldukça benzeyen uyarı için kısadır. Kullanılmakta olan bir üçüncü taraf kitaplığında / kodunda bir hata olabilir ve // ​​XXX: kod, bunun üçüncü taraf kodundaki bir hatadan dolayı geçici çözüm olduğunu veya arayan / değiştiren biri için "dikkat" anlamına gelebileceğini gösterir bir şeyin neden belirli bir şekilde yapıldığını gösteren kod, aksi takdirde ilk bakışta yanlış / uygunsuz görünebilir. HACK, kendi kod tabanınızda veya bir üçüncü taraf kitaplığında bulunabilecek bir sorun için geçici çözüm anlamına gelen genel bir terimdir.


0

Ben ise iman FIXMEgeliştirici içindir ve HACKsürdürücü içindir XXXkullanıcı içindir.

Örneğin, XXXnasıl çalıştığını anlamadan, bu işlevi görmezden gelirseniz ve başka bir yerde çağırırsanız, beklenmedik bir şey olabilir ve bu konuyla ilgilenen kişi mutsuz olacaktır (en azından bunu XXXdüşünen kişi). Bu işlevi kullanmazsanız sorunun çözüleceğini düşünebilirsiniz.

Ancak FIXME, çalışmasını sağlamak için kodu düzeltmeye layık hissedeceksiniz. Ve HACKkullanmasanız bile daha iyi bir seçeneğiniz olmayabilir.

XXXKendi kodunuz üzerine yazdıysanız ve birisi onu kullandıysa, bu kodu tamamen yeniden yazdığınız gibi nedenlerden dolayı kendinizi mutsuz hissedebilirsiniz ve sonra tamamen farklı şekillerde davranır ve bir başkasının kodunu kırarsınız. Ama eğer bir FIXMEveya TODOyerine bırakırsanız, bu kadar umursamayacaksınız.


0

// XXX kullanıyorum, böylece satır numaralarını hatırlamak zorunda kalmam. Bunun yerine, o kod parçasına dönmek istediğimde sadece XXX için arama yapıyorum.

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.