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


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.