소스 코드에서 가장 좋은 주석은 무엇입니까? [닫은]


360

소스 코드에서 가장 좋은 주석은 무엇입니까?

답변:


1462

나는 대부분의 프로젝트에 비 건설적인 의견, 코드시 및 약간의 농담을 포함시키는 것이 특히 유죄입니다. 내가 특별히 좋아하는 것은 잘못 설계 된 'God Object'아래에 멀리 떨어져 있습니다.

/**
* For the brave souls who get this far: You are the chosen ones,
* the valiant knights of programming who toil away, without rest,
* fixing our most awful code. To you, true saviors, kings of men,
* I say this: never gonna give you up, never gonna let you down,
* never gonna run around and desert you. Never gonna make you cry,
* never gonna say goodbye. Never gonna tell a lie and hurt you.
*/

죄송 해요!!!! 나는 단지 나 자신을 도울 수 없었다 .....!

그리고 내가 인정하지하는 또 다른 사실 내가이 있어도, 야생으로 발표하지 않은 매우 내 덜 직관적 클래스 중 하나에 그렇게 유혹 :

// 
// Dear maintainer:
// 
// Once you are done trying to 'optimize' this routine,
// and have realized what a terrible mistake that was,
// please increment the following counter as a warning
// to the next guy:
// 
// total_hours_wasted_here = 42
// 

2
// Dear Programmer // // 소개 한 모든 버그를 수정 했으므로 이제 코드가 느리게 실행됩니다. //하지만 최적화가 도움이되었습니다.
DevinB

2
댓글에서 Rickrolling의 경우 +.5, total_hours의 경우 +.5 굉장
웨인 베르너

3
내가 처음으로 RickRolled가 된 것은 처음이었고 재미있었습니다. YouTube에 대한 링크를 볼 때 항상 RickRolled (낙타의 경우 영어 !!)가 되길 기대하지만 결코 코드 주석에서 RickRolled가 될 것으로 예상 한 적이 없습니다.
Vincent McNabb

4
total_hours_wasted_here = -32768, 어떻게해야합니까? 뭔가 잘못되었다고 생각합니다.
Behrooz

8
카운터 업데이트를 중지하십시오. 이 질문을 첫 페이지에 다시 부딪 칠 가치가 없습니다 .
Michael Myers

1055
Exception up = new Exception("Something is really wrong.");
throw up;  //ha ha

5
나는 사람들이 "크랙,이 글을 읽거나"또는 "크랙, 그 글을 읽을 때"라고 말할 때 모든 의견을 위에서 아래로 읽었습니다. 잘. 방금이 책을 읽었습니다.
Daren Thomas

37
말 그대로 LOL은 이것의 영리함과 유치함을 결합했습니다.
David Koelle

2
MonkeyPoo 클래스는 {} 예외를 확장합니다. ... 새로운 MonkeyPoo ()를 던지십시오. // 예외보다 던지기가 훨씬 더 재미 있기 때문에
Adam Rosenfield 2016

2
나는 XD에서 지금부터 ex 대신에 사용하기 시작하고 싶습니다
Ammar

23
정말 깊은 잠에서 깨어 나면 IQ가 약 25로 떨어지고 내 마음은 매우 이상한 곳으로갑니다. 한 번, Java를 작성하는 데 오랜 시간을 보낸 후, 한밤중에 일어 났을 때 몸이 아 feeling으며 화장실에 bolt습니다. 화장실에 토할 때, 내가 생각할 수있는 유일한 것은 "지금 어떤 예외를 던지고 있는지 궁금합니다 ..."
Frank Farmer

1052
//When I wrote this, only God and I understood what I was doing
//Now, God only knows

175
그것은 우리에게 훌륭한 엡실론과 델타 연속성 정의를 준 수학자 인 Karl Weierstrass의 말입니다.
Edwin Jarvis

3
구분할 수없는 Weierstrass?
Peter Wone

4
@Augusto, 해당 문구의 출처가 Weierstrass에 있습니까? 그가 무엇을 말하는지 알고 싶습니다.
Kevin

1048
stop(); // Hammertime!

8
나는 그것을 좋아한다. 다 다 다, 다 다, 다 DA는 끝났어 (데이비드 스페이드, SNL, 주말 업데이트)
MrBoJangles

83
중지(); // 협력하고 들어보세요!
Erik Forbes


2
중지(); // 그 소리는 무엇입니까?
Yuval

2
중지(); //! 사랑의 이름으로. 내 마음을 아프게하기 전에

1030

이것은 morons가 내 코드를 엉망으로 만드는 것을 막는 것 같습니다 ...

// Autogenerated, do not edit. All changes will be undone.

7
SO가 개별 응답에서 즐겨 찾기를 지원
하도록하겠습니다


@alex, 음, 지금 ... 어쨌든, 당신이 질문을 가장 좋아하는 것으로 표시 할 수있는 것과 같은 것을 의미했습니다 ...
AviD

@ AviD 예, 해결 방법을 제안합니다.
alex

3
어쨌든 그들은 당신의 코드를 어지럽 힐 것이라고 생각합니다.
Mateen Ulhaq

946
// sometimes I believe compiler ignores all my comments

26
컴파일러 가이 사람의 의견을 무시하기를 바랍니다.
Windows 프로그래머

86
// 컴파일러로부터 답장을받지 못했기 때문에 이것이 사실이라고 생각합니다.
Liwen

40
나는 아이러니해야한다고 생각합니다 ...

52
웃음 , 그것은 미래입니다, 컴파일러는 오해하지 않았 음을 확인하기 위해 주석을 읽습니다. ;-D
sharkin

4
// # reply_from_compiler 당신은 clippy를 좋아하지 않습니까?
Carl

930
// I dedicate all this code, all my work, to my wife, Darlene, who will 
// have to support me and our three children and the dog once it gets 
// released into the public.

169
Duke Nukem Forever 소스 코드 어딘가에 있습니까? ;)
Adhip Gupta

1
이해가 안 돼요, 재밌는 게 뭐야?
hasen

11
그는 아내에게 해고 당하거나 회사를 해고시킬 것이 너무 나쁘다는 것을 알고 있지만 아래 코드를 아내에게 바치고 있습니다. :)
Robert P

390
개가 왜 대중에게 공개됩니까?
Nosredna 2016 년

1
@ Nosredna, 그런 재미있는 의견에 감사드립니다! @hasen j, 코드가 너무 나빠서 "프로그래머"가 직장을 잃을 가능성이 높으므로 아내는 가족을 부양해야합니다.
Jamol

911
//Code sanitized to protect the foolish.
using System;
using System.Collections.Generic;
using System.Text;
using System.Reflection;
using System.Web.UI;

namespace Mobile.Web.Control
{
    /// <summary>
    /// Class used to work around Richard being a fucking idiot
    /// </summary>
    /// <remarks>
    /// The point of this is to work around his poor design so that paging will 
    /// work on a mobile control. The main problem is the BindCompany() method, 
    /// which he hoped would be able to do everything. I hope he dies.
    /// </remarks>
    public abstract class RichardIsAFuckingIdiotControl : MobileBaseControl, ICompanyProfileControl
    {
        protected abstract Pager Pager { get; }

        public void BindCompany(int companyId) { }

        public RichardIsAFuckingIdiotControl()
        {
            MakeSureNobodyAccidentallyGetsBittenByRichardsStupidity();
        }

        private void MakeSureNobodyAccidentallyGetsBittenByRichardsStupidity()
        {
            // Make sure nobody is actually using that fucking bindcompany method
            MethodInfo m = this.GetType().GetMethod("BindCompany", BindingFlags.DeclaredOnly | 
                BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
            if (m != null)
            {
                throw new RichardIsAFuckingIdiotException("No!! Don't use the fucking BindCompany method!!!");
            }
            // P.S. this method is a joke ... the rest of the class is fucking serious
        }

        /// <summary>
        /// This returns true if this control is supposed to be doing anything
        /// at all for this request. Richard thought it was a good idea to load
        /// the entire website during every request and have things turn themselves
        /// off. He also thought bandanas and aviator sunglasses were "fuckin' 
        /// gnarly, dude."
        /// </summary>
        protected bool IsThisTheRightPageImNotSureBecauseRichardIsDumb()
        {
            return Request.QueryString["Section"] == this.MenuItemKey;
        }

        protected override void OnLoad(EventArgs e)
        {
            if (IsThisTheRightPageImNotSureBecauseRichardIsDumb())
            {
                Page.LoadComplete += new EventHandler(Page_LoadComplete);
                Pager.RowCount = GetRowCountBecauseRichardIsDumb();
            }
            base.OnLoad(e);
        }

        protected abstract int GetRowCountBecauseRichardIsDumb();
        protected abstract void BindDataBecauseRichardIsDumb();

        void Page_LoadComplete(object sender, EventArgs e)
        {
            BindDataBecauseRichardIsDumb();
        }

        // the rest of his reduh-ndant interface members
        public abstract string MenuItemName { get; set; }
        public abstract string MenuItemKey { get; set; }
        public abstract bool IsCapable(CapabilityCheck checker, int companyId);
        public abstract bool ShowInMenu { get; }
        public virtual Control CreateHeaderControl()
        {
            return null;
        }
    }
}

업데이트 : 코드의 원래 작성자 가 자신을 능가 했기 때문에 마감일을 알려야합니다. Dan McKinley 는 내가 시작한 지 얼마되지 않아 회사를 떠났고 코드에 대해 더 자세히 이야기하면서 'Richard'가 쓴 몇 가지 "WTF"와 배경에 대해 설명합니다.


27
그것은 외설물에 수수께끼로 가득 차 있지만, 나는 문자 그대로 그것을 읽는 동안 내 큐브에서 문자 그대로 웃었다.
willasaywhat

241
검열 짜증. 원본을 다시 가져와!
코더 1

58
복구하다. 우리는 모두 성인입니다. 원래 코드가 "위생 (sanitized)"되었다면 여기에 게시 할 수있을 정도로 기억이 나지 않았을 것입니다.
JosephStyons

56
고객이 스택 추적에서 클래스 이름을 보면 더 재미있을 것입니다.
finnw

5
NSFW 버전으로 롤백하지 마십시오. 저자는 개정 3 및 6에서 SFW 버전을 명시 적으로 승인했습니다.
Adam Davis

825
// somedev1 -  6/7/02 Adding temporary tracking of Login screen
// somedev2 -  5/22/07 Temporary my ass

79
아, 좋은 영구 임시 솔루션 :)
Michael Stum

17
일시적인 것만 큼 영구적 인 것은 없습니다 !!!
마이크로 커널

727
// drunk, fix later

농담 이었으면 좋겠다. 코드를 작성한 개발자를 알면 문자 그대로 의미가 있다고 생각합니다.


258
술에 취했을 때 의견을 쓰는 사람은 말도 안됩니다.
Jiminy

66
@Jiminy : 진심으로! 취한 코드를 작성하면 불행히도 이해할 수없는 멋진 코드로 깨어납니다.
JoshJordan

22
당신이 그것을 이해하지 않으면 오 ... 그것은 멋진로!
Anders Hansson

14
ㅋ!!! 나는 이것을 재밌게 만들었습니다. '술에 취한'내 로컬 서브 버전 레포를 잡고, 기억하지 못하는 한 가지 커밋 주석을 찾았습니다. "어떻게 다시 작동하십시오. 음 ... 취했습니다!"
ivan_ivanovich_ivanoff

14
하하, ".. 어떻게 든 0.129 %와 0.138 % 사이의 BAC가 초인간적 프로그래밍 능력을 부여한다 ..." xkcd.com/323
Alpha Codemonkey

719
// Magic. Do not touch.

20
마법 = 깨지기 쉬운가?
MrBoJangles


5
나는 이렇게 많은 시간을 썼어야했는데, 대부분 "내가하고있는 일을 실제로 알지 못하고 다음 코드를 만지면 나쁜 일이 일어날 것이다!"
Shalom Craimer

6
@Simon Howard, "More Magic"이라고 말하면 손대지 않을 것입니다
DevinB

4
나는 아직도 어리석은 질문이 "매직!"으로 대답 된 고등학교에서 CS를 배운 것을 기억합니다. 그리고 가장 불길한 미소.
nevets1219

701

#define TRUE FALSE //Happy debugging suckers


95
#define NULL (:: rand () % 2) // 아주 좋을 것입니다
Viktor Sehr

33
#define if (if (!
Bart van Heukelom

66
@Bart : 당신은 당신의 코드에 반 괄호를 가질 수 없습니다,하지만 당신은 할 수있다 #define if(x) if(!(x))(더 sinisterly, 또는 #define if while)
크리스 루츠에게

8
주어진대로 이것은 실제로 작동합니다 : 주석 끝까지 줄 문자는이 매크로가 사용되는 행이 컴파일되지 않도록합니다. 예를 들어 : a = TRUE;번역합니다 a = FALSE // Happy debugging suckers;termating이 때문에 컴파일 오류로 이어질 것이다 ;코멘트 지금이다. 블록 주석을 사용 /* Eat this */하면 작동합니다.
rix0rrr

6
#define struct union메모리 제한 시스템에서 매우 유용합니다.
msw

640
// I'm sorry.

179
(다음 코드는 나를 울게 만들었습니다.)
Greg D

20
남자, 나는 다음 코드를보고 싶어 ...
Erik Forbes

33
// 넌 용서 받았어. 평화롭게 내 아들 아
Mark Allen

52
이 MSFT에 의해 생성 된 기본 템플릿의 표준 주석이어야한다
알렉상드르 Brisebois

1
정말로, 이것을 따르는 코드는 무엇입니까 ???
chakrit

636
return 1; # returns 1

32
권위 있는! 그러나 나는 이것을 더 좋아한다 : "i ++; // i를 1 씩 증가시킨다"
steffenj

71
그가 #DEFINE 1을 다른 것으로 알고 있다면 누가 ...
icelava

13
그런 의견이 저에게 생소했으면 좋겠습니다.
Drew Dormann

6
나는 이것을 많이 보았다. 주석으로 기능을 스텁 한 다음 각 주석 아래 / 아래 코드를 작성하는 많은 코더를 알고 있습니다. 큰 비즈니스 기능을 작성하는 것이 매우 쉬워 지지만 때로는 다소 자세한 설명이 나옵니다.
Beep beep

88
# 하나를 반환? 더 구체적으로 말하십시오.
Ozan

591
/* This is O(scary), but seems quick enough in practice. */ 

네 개의 중첩 된 for 루프가 뒤 따른다


33
pfft, 그것은 단지 N ^ 4 일 것입니다. 4 ^ N 또는 N만큼 나쁜 곳은 없습니다!
tloach

14
나는 한 번 루프 8 깊이로 상황에 부딪쳤다. 런타임은 시간 단위로 측정되었습니다.
Loren Pechtel

8
내부 루프에 500ms 네트워크 RTT가있는 O (n) 알고리즘이 있습니다. n> 100k. 아야.
geofftnz

6
구속의 질이있다 : 그들은 적어도 큰 O 용어가 무엇인지 안다. 바라건대 각 루프를 통해 매우 작은 N - D를 실행
존 작업복

27
"O (MFG), 부탁합니다"라고 말하는 사람과 함께 일합니다
Jason Orendorff

589
// Replaces with spaces the braces in cases where braces in places cause stasis 
   $str = str_replace(array("\{","\}")," ",$str);

34
+1-순수한 천재. 이것은 티셔츠 또는 무언가에 가야합니다 :-)
Rook

71
닥터 수스가 코드를 씁니까? +1!
Blorgbeard는

11
마지막에 두 음절이 더 필요합니다.
Michael Myers

88
두 음절이 더 필요하다는 의견을 방금 열었지만 분명히 3 개월 만에 나 자신을 이겼습니다.
마이클 마이어스

15
추가 음절의 필요성에 동의하지 않습니다. 미터는 그대로 완벽합니다. 세 음절로 구성된 다섯 그룹.
KevDog

542

그것은 "최고의 의견"에 대해 물었을 때 우리 모두가 찾을 수있는 최악의 의견으로 대답한다는 우리의 직업에 대해 많은 것을 말하고 있습니다 ...


67
의견이 거의 필요 없다는 의견에 전적으로 동의합니다.
harpo

16
의견에 따라 다릅니다. "자체 문서화"언어조차도 파이썬과 같은 주석의 이점을 활용할 수 있습니다. 간단한 문장이 나에게 말할 수있을 때 무슨 일이 일어나고 있는지 알아 내기 위해 코드를 훑어 봐야하는 것을 싫어합니다.
crystalattice

32
나는 의견이 불필요하다는 것에 동의하지 않는다. 간단한 "프레이밍"주석이 전체 코드를 이해할 수있는 경우가 있습니다. 예를 들어, 복잡한 알고리즘을 사용하여 무차별 대입 알고리즘의 시간 복잡성을 피하려면 참조가 필수적 일 수 있습니다.
Mark Brittingham

83
코드는 무엇을 말합니다 ... 의견은 이유를 말합니다!
Richard Ev

3
"Richard E"에 더 동의하지 않았습니다. 의견은 미래 (동료, 검토 자, 자신)에게 다른 사람 대신 악한 일을하기로 선택한 이유를 설명하기위한 것입니다. 나는 모든 곳에서 의견을 흩 뜨리는 것이 아니라 때로는 의무적이어야한다.
Danita


508
Catch (Exception e) {
 //who cares?
} 

11
이것은 나를 정신적
Tablet

68
// 똑같은 것을 보았습니다.
Ferruccio

6
나는 이것에 너무 열심히 웃었다.
Franck

9
때로는 중요하지 않기 때문에 한 번 이상이 작업을 수행했음을 인정해야합니다.
NotMe

17
와우, 나는 그 의견을 항상 씁니다. 나는 그것을 재미 있다고 생각하지 않았으며, 그것이 진지한 진술이라고 생각했습니다.
Jay

496
/**
 * Always returns true.
 */
public boolean isAvailable() {
    return false;
}

댓글에 의존하지 마십시오 ...


85
나는 항상 동료들에게 말합니다. "댓글이 실행되지 않습니다 !!"
OscarRyz

15
나는 당신이 "코드에 의존하지 말아라"고 생각했다. 나는 확실히 사양, 디자인 및 요구 사항은 리턴 코드 또는 사실 :) 필요 해요
gbjbaanb

failblog.org의 techie 판에서 볼 수있는 것
BobC

5
실제로 이런 일이 발생하면 사람들은 함수 바로 위에 있어도 문서를 최신 상태로 유지하지 않아도됩니다.
Henk

25
... #define false true?
new123456

457
/*
 * You may think you know what the following code does.
 * But you dont. Trust me.
 * Fiddle with it, and youll spend many a sleepless
 * night cursing the moment you thought youd be clever
 * enough to "optimize" the code below.
 * Now close this file and go play with something else.
 */ 

32
AI 프로젝트에서 몇 년 전에 쓴 기계 정리 증명 알고리즘을 최적화 할 수 있다고 맹세 한 동료를 상기시킵니다. 그는 성능을 향상 시켰지만 코드가 작동하지 않았습니다 ... 내가 내 잘못이라고 맹세했습니다.
Mark Brittingham

흠, 나는 이것을 어딘가에 보지 못했습니까?
bzlm 2016 년

6
@Mark 그는 단지 시간을 최적화한다고 말했지만 기능에 대해서는 아무 것도 말하지 않았다. = P
DevinB

98
작동하지 않아도되면 런타임 0으로 코드를 최적화 할 수 있습니다.
Michael Borgwardt

9
그것이 소스 제어를위한 것입니다. 최적화를 시도하는 데 몇 시간을 소비 한 다음 문제가 해결되지 않으면 롤백하십시오.
Kibbee

429
try {

} finally { // should never happen 

}

15
++. 내 회사의 다른 사람들은 이것을 항상 쓰고 있습니다!
CVertex

17
나는 과거에 그 의견을 보았고 심지어 자신이 직접 작성한 것을 보았습니다. 가장 재미있는 부분은 ti가 finally 블록에 배치되어 항상 발생 한다는 의미입니다 .
Troy Howard

32
네, 농담이었습니다. =)
Erik Forbes

15
try 블록에 System.exit () 호출이 있으면 YES, 마지막으로 발생하지 않아야합니다!
Romain Linsolas

6
Debug.Assert ()를 사용하는 이유 # 984. ;)
Scott Hanselman

411

보낸 사람 : https://github.com/zepouet/Xee-xCode-4.5/blob/master/XeePhotoshopLoader.m#L108

// At this point, I'd like to take a moment to speak to you about the Adobe PSD
// format. PSD is not a good format. PSD is not even a bad format. Calling it
// such would be an insult to other bad formats, such as PCX or JPEG. No, PSD
// is an abysmal format. Having worked on this code for several weeks now, my
// hate for PSD has grown to a raging fire that burns with the fierce passion
// of a million suns.
//
// If there are two different ways of doing something, PSD will do both, in
// different places. It will then make up three more ways no sane human would
// think of, and do those too. PSD makes inconsistency an art form. Why, for
// instance, did it suddenly decide that *these* particular chunks should be
// aligned to four bytes, and that this alignement should *not* be included in
// the size? Other chunks in other places are either unaligned, or aligned with
// the alignment included in the size. Here, though, it is not included. Either
// one of these three behaviours would be fine. A sane format would pick one.
// PSD, of course, uses all three, and more.
//
// Trying to get data out of a PSD file is like trying to find something in the
// attic of your eccentric old uncle who died in a freak freshwater shark
// attack on his 58th birthday. That last detail may not be important for the
// purposes of the simile, but at this point I am spending a lot of time
// imagining amusing fates for the people responsible for this Rube Goldberg of
// a file format.
//
// Earlier, I tried to get a hold of the latest specs for the PSD file format.
// To do this, I had to apply to them for permission to apply to them to have
// them consider sending me this sacred tome. This would have involved faxing
// them a copy of some document or other, probably signed in blood. I can only
// imagine that they make this process so difficult because they are intensely
// ashamed of having created this abomination. I was naturally not gullible
// enough to go through with this procedure, but if I had done so, I would have
// printed out every single page of the spec, and set them all on fire. Were it
// within my power, I would gather every single copy of those specs, and launch
// them on a spaceship directly into the sun.
//
// PSD is not my favourite file format.

1
그 직후의 줄과 그 설명은 실제로 케이크 위에 있습니다. 제정신? 무슨 정신? 형식은 모든 것을 먹었다 ...
Kim Reece

66
s / PSD / Internet Explorer / g. s / 파일 형식 / 웹 브라우저 / g. 이제 내 생각과 일치합니다.
TJ L

10
나는 그런 고통을 겪어야하는 프로그래머를 불쌍히 여기고있다 !!! 그러나 굉장한 의견입니다. 그의 마음을 쏟아 부었다.
Microkernel

4
이 줄 : // PSD는 내가 좋아하는 파일 형식이 아닙니다. 이것을 고전으로 만듭니다.
joedevon

387
const int TEN=10; // As if the value of 10 will fluctuate... 

136
오늘날의 시장 (10)에서 이제 (9)의 값이
스티브 휴한지

13
언젠가 우리는 ... 더 손가락을 진화
로렌 Pechtel에게

59
10의 매우 큰 값은 어떻습니까?
Mikeage 2013

184
const int TEN = 11; // 광산은 11 시로 이동
더빙

18
C에서 Fortran 호출-Fortran은 참조 별 호출 만 수행하므로 모든 상수에 대한 변수가 필요합니다.
Martin Beckett

364
    #Christmas tree initializer  
    toConnect = []  
    toRead =   [  ]  
    toWrite = [    ]   
    primes = [      ]  
    responses = {}  
    remaining = {}  

25
그것은 승리입니다. 큰 승리 ...
Cyclone

16
다음 번에 네 개의 빈 배열과 두 개의 해시가 필요할 때 사용할 것입니다!
Josh

어. 큰 소리로 "실패!" 형식이없는 언어를 사용하는지 여부를 알지 못하여 작성자에게
TheBlastOne

그는 형식이없는 언어에 대해 몰랐을 것입니다. 좋은 농담입니다 :-)
Román

362

30 페이지 xslt의 중간 정보

<!-- Here be dragons  -->

8
여전히 이해하기 쉬운 방식으로 XSLT를 주석 처리하는 방법을 알아 내려고 노력하고 있습니다.
rjzii

78
코드에 더 많은 드래곤이 필요합니다.
Jon Smock


6
@ annakata 당신은 그것이 나쁘다고 생각합니다. 다른 사람이 31GB xml 파일을 다루는 데 도움을 요청했습니다. 나는 고뇌에서 외쳤다.
Dana the Sane

1
누군가 전화 했어?
Troggy

353

완전히 주석 처리되지 않은 2000 라인 방식으로

{ 
  { 
    while (.. ){ 
      if (..){
          }
      for (.. ){ 
          }
         .... (just putting in the control flow here, imagine another few hundred ifs)
      if(..)   {
            if(..)     {
                   if(..)   {
                ...
                (another few hundred brackets)
                       }
                  }
         } //endif

(사실 나는 그것이 얼마나 나쁜지 알기 위해 언젠가 모든 대괄호를 꺼내어 sans 형식화에서 이것을 얻었습니다.

{{{{}}{}{}{}{}}{{}{{}{}{}{}{}{}{{}{}}{}{}{{}{}{}{}{}{}{}{}{}{}{}{{}}}{{}{{}}{{{}}}{{}{}{}{}{}{}{}{{}}{}{{{}}{}{{}{}}{{{}}{}{}{}{}}{{}}}{}{{}{}{}{{}{{}}{}}{{}}}{{}}{{}}{{}}{}{{}}{{}}{{}}{{}{}{}}{}{}{{{}}{{}}}{}{}{}{}}{{{}{{}{}{}{{}{}{}{}{}{}}{}}{{}}{{}{}}}{{}}{{}}}{{}}{{}}{}{}{}{}{{}}{{}{}{}{}}}}{}{}}{{}{{{}{}{}{}}}}{{}{{{}}}}{{}{{{}{{}}{}{{}}{}{{}{}}{{}}{}{{}}}{{}}}}{{}{}{}{}{}{{{}    {{{{}}{}{}{}{}}{{}{{}{}{}{}{}{}{{}{}}{}{}{{}{}{}{}{}{}{}{}{}{}{}{{}}}{{}{{}}{{{}}}{{}{}{}{}{}{}{}{{}}{}{{{}}{}{{}{}}{{{}}{}{}{}{}}{{}}}{}{{}{}{}{{}{{}}{}}{{}}}{{}}{{}}{{}}{}{{}}{{}}{{}}{{}{}{}}{}{}{{{}}{{}}}{}{}{}{}}{{{}{{}{}{}{{}{}{}{}{}{}}{}}{{}}{{}{}}}{{}}{{}}}{{}}{{}}{}{}{}{}{{}}{{}{}{}{}}}}{}{}}{{}{{{}{}{}{}}}}{{}{{{}}}}{{}{{{}{{}}{}{{}}{}{{}{}}{{}}{}{{}}}{{}}}}{{}{}{}{}{}{{{}{}{{}}{}}}{}}{{}}{{}{}}{{}{{}{{}}}}{{{}{{{}}}}}{{{{{}}}}}{}{}{}{{{{}}}{}{}}{{}{{}}}}{}{{}}{}}}{}}{{}}{{}{}}{{}{{}{{}}}}{{{}{{{}}}}}{{{{{}}}}}{}{}{}{{{{}}}{}{}}{{}{{}}}}

endif는 800 행에 나타났습니다)


180
투르 드 프랑스 코드
Andreas Petersson

7
이것은 가치가있는 dailyworsethanfailure.com입니다!
deadbug

67
리스프처럼 보입니다!
endian

8
이 의견은 아마도 컴파일러 버그를 해결하기 위해있을 것입니다. : |
Rob Howard

49
OH SHIIIIIIIII의 순환 복잡성 수준

353
long long ago; /* in a galaxy far far away */ 

1
이것이 실제로 작동합니까? 어떤 언어로?
mauris

16
@Mauris : 원래 64 비트 정수용 C 및 C ++ 확장으로 많은 공급 업체에서 지원했습니다. 그런 다음 C99 및 C ++ 0x가 표준을 지원합니다. en.wikipedia.org/wiki/Long_long
Juliano

16 비트 랜드에서 사용한 원거리 및 근거리 포인터에 대해 생각하도록하겠습니다. :)
Macke

1
여전히 완벽하게 작동합니다. DMR은 64 비트 비트 정수의 이름이어야한다고 제안했기 때문에 먼저 약 25 년 전에 Convex의 컴파일러에 넣었습니다.
tchrist

352
//This code sucks, you know it and I know it.  
//Move on and call me an idiot later.

26
솔직히 말해서!
Mitchel Sellers

46
나는 정직을 사랑합니다.
Jeff Schumacher

2
개선의 첫 단계는 결함을 인정하는 것입니다.
icelava

다른 사람들이 과장하기 전에 실수를 받아들이십시오 :)
naveen

324
// If this comment is removed the program will blow up 

201
오래 전에 주석을 추가하여 실수로 Java3D에서 segfault를 수정했습니다. 100 % 재현 가능했습니다. 주석을 제거하면 충돌이 발생했습니다. 의견이있는 한 잘 작동했습니다. 나는 그것이 기괴한 타이밍 문제라고 생각하지만, 무슨 일이 일어나고 있는지 정확히 파악하지 못했습니다.
DNS

54
매직 / 모어 매직
DevinB

16
이것은 일종의 바이러스입니다. 자체 보호를위한 컨텐츠가 포함되어 있습니다. 그것은 스스로 복제되는 데 좋은 정크 DNA와 같습니다.
Charlie Flowers

23
두 가지 버전으로 생성 된 바이트 코드를 비교해야합니다
JoelFan

13
C 주석을 끝내면 \ (2D 배열에서 어떤 방향으로 가고 있는지 표시하는 데 사용됨) 컴파일러가 다음 줄을 건너 뜁니다.
Tgr
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.