你遇到的源代码中最好的评论是什么?

[英]What is the best comment in source code you have ever encountered?


What is the best comment in source code you have ever encountered?

你遇到的源代码中最好的评论是什么?

518 个解决方案

#1


1464  

I am particularly guilty of this, embedding non-constructive comments, code poetry and little jokes into most of my projects (although I usually have enough sense to remove anything directly offensive before releasing the code). Here's one I'm particulary fond of, placed far, far down a poorly-designed '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.*/

I'M SORRY!!!! I just couldn't help myself.....!

对不起!!!!我忍不住自己......!

And another, which I'll admit I haven't actually released into the wild, even though I am very tempted to do so in one of my less intuitive classes:

而另一个,我承认我并没有真正释放到野外,尽管我很想在一个不那么直观的课程中这样做:

// // 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


1056  

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

#3


1052  

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

#4


1049  

stop(); // Hammertime!

#5


1033  

This seems to stop morons from messing my code...

这似乎阻止了笨蛋弄乱我的代码......

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

#6


946  

// sometimes I believe compiler ignores all my comments

#7


931  

// 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.

#8


913  

//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;        }    }}

Update: The original author of the code has outed himself so I must give credit where it is due. Dan McKinley left the company I was with shortly after I started, and he talks more about the code, explaining some background and a few more "WTF's" that 'Richard' wrote.

更新:该代码的原始作者已经将自己打败了,所以我必须在到期时给予信任。 Dan McKinley在我开始后不久就离开了我所在的公司,他更多地讨论了代码,解释了一些背景以及一些“理查德”所写的“WTF”。

#9


827  

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

#10


727  

// drunk, fix later

Wish I were kidding. And knowing the developer who wrote the code, I think he meant it literally.

希望我在开玩笑。并且知道编写代码的开发人员,我认为他的字面意思。

#11


719  

// Magic. Do not touch.

#12


701  

#define TRUE FALSE //Happy debugging suckers

#define TRUE FALSE //快乐的调试吸盘

#13


640  

// I'm sorry.

#14


636  

return 1; # returns 1

#15


592  

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

followed by four nested for-loops

接下来是四个嵌套的for循环

#16


589  

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

#17


542  

It speaks volumes about our profession that when asked about the "best comment", we all answer with the worst comments we can find...

它说明了我们的职业,当被问及“最佳评论”时,我们都回答了我们能找到的最糟糕的评论......

#18


526  

long john; // silver

#19


508  

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

#20


496  

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

Never rely on a comment...

永远不要依赖评论......

#21


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. */ 

#22


431  

try {} finally { // should never happen }

#23


412  

From: 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.

#24


387  

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

#25


365  

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

#26


362  

About the middle of a 30 page xslt

大约30页xslt的中间

<!-- Here be dragons  -->

#27


355  

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

#28


354  

in a completely uncommented 2000 line method

在完全没有注释的2000行方法中

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

(I actually grepped out all the brackets one day just to see how bad it was, and, sans formatting, got this:

(我实际上有一天只是为了看看它有多糟糕而把所有括号都弄出来了,并且,没有格式化,得到了这个:

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

The endif showed up around line 800)

endif出现在800号线附近)

#29


352  

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

#30


325  

// If this comment is removed the program will blow up 
关注微信公众号

注意!

本站翻译的文章,版权归属于本站,未经许可禁止转摘,转摘请注明本文地址:https://www.itdaan.com/blog/2011/09/18/f244ac091acd40ffafa4a57f35584106.html



 
粤ICP备14056181号  © 2014-2020 ITdaan.com