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

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

我对此特别有罪,在我的大部分项目中都embedded了非build设性的评论,代码诗和小小的笑话(虽然我通常有足够的理解在发布代码之前删除任何直接冒犯的东西)。 这是我特别喜欢的一个,远远落在一个devise得不好的“神物”上:

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

对不起!!!! 我只是忍不住自己…..!

还有一个,我承认我并没有真的放到野外,尽pipe我在一个不那么直观的课堂上很想这么做:

 // // 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 // 
 Exception up = new Exception("Something is really wrong."); throw up; //ha ha 
 //When I wrote this, only God and I understood what I was doing //Now, God only knows 
 stop(); // Hammertime! 

这似乎阻止了混乱我的代码的白痴…

 // Autogenerated, do not edit. All changes will be undone. 
 // sometimes I believe compiler ignores all my comments 
 // 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. 
 //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!!!"); } // PS 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”。

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

希望我在开玩笑。 了解编写代码的开发人员,我认为他的意思是字面意思。

 // Magic. Do not touch. 

#define TRUE FALSE //Happy debugging suckers

 // I'm sorry. 
 return 1; # returns 1 
 /* This is O(scary), but seems quick enough in practice. */ 

接着是四个嵌套for循环

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

它谈到我们的专业,当被问及“最好的评论”时,我们都回答最糟糕的评论,我们可以find…

 long john; // silver 
 Catch (Exception e) { //who cares? } 
 /** * Always returns true. */ public boolean isAvailable() { return false; } 

永远不要依赖评论…

 /* * 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. */ 
 try { } finally { // should never happen } 

来自: 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. 
 const int TEN=10; // As if the value of 10 will fluctuate... 
  #Christmas tree initializer toConnect = [] toRead = [ ] toWrite = [ ] primes = [ ] responses = {} remaining = {} 

大约在30页xslt的中间

 <!-- Here be dragons --> 

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

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

(我有一天真的把所有的括号清理出来,看看它有多糟糕,而且没有格式化,得到这个:

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

endif出现在800行左右)

 long long ago; /* in a galaxy far far away */ 
 //This code sucks, you know it and I know it. //Move on and call me an idiot later. 
 // If this comment is removed the program will blow up