Title Text:You can either hang out in the Android Loop or the HURD loop.
Origin:https://xkcd.com/844/
https://www.explainxkcd.com/wiki/index.php/844:_Good_Code
好程式碼
漫画引用了程序员常见的模因,人们实际上无法编写好的代码。代码很快就会以粗俗的“代码风格”,弱的逻辑结构或任何其他的kludges和hacks来完成,这会将代码的维护变成噩梦;或者它写得很好,结构很漂亮,但在情况发生变化导致原始代码设计因一个或多个原因而不足之前永远无法完成。
这两种情况最终导致需要完全从头开始,重新设计和编写程序的代码。当然,这个新程序的编写也被锁定在永久性的循环中,选择难以理解的丑陋/错误代码,或者在过时之前永远不会完成的好/漂亮代码。
此外,通过使用无限循环 – 或者更准确地说,在流程图本身中使用2个可能的循环和1个强制循环,主要目标受众,程序员进一步强调了幽默点。
另外,特别值得注意的是,Randall(作者)通过使用流程图的附加,断开连接和逻辑上不可到达的部分来驱动无限循环的不可避免性。这种脱节指出,使用流程图实际获得“良好代码”的唯一方法是遵循行动路径 – “不在规定的地方开始”,其中只有一个未知且可能不可知的行为以前没有人发现的开始行动。其他流程图漫画,其中几个也是无限循环,可以在这里找到。
标题文字“你可以在Android循环或HURD循环中闲逛”,挖掘两个社区:声称Android开发人员总是选择快速,丑陋的代码,需要经常修复和更新,而赫德开发人员常年选择“做正确的工作”,但因此似乎永远不会完成他们的项目。
GNU Hurd项目旨在为GNU操作系统创建内核(内核是中心和最不可或缺的组件)。 GNU项目最着名的是GNU /Linux(通常称为“Linux”),它是一个将Linux内核与GNU系统环境一起使用的操作系统。从一开始,GNU项目就计划从头开始设计他们自己的内核,Hurd,并给出一个相对干净的工作平台,选择采用一些有前途和理论上优雅的设计概念。尽管如此,正如兰德尔所暗示的那样,赫德已经陷入了发展地狱多年(事实上几十年),在一小群内核黑客社区之外,实际可用性几乎没有进展。虽然确实存在可运行的GNU /Hurd操作系统,但它们仍然基本上是实验性的,而且赫德仍然是研究软件的集合,其设计目标随着其他更加实用的技术不断发展而不断发展(Linux内核本身)作为规范的第一个实例)。
最后,这个漫画的抄本本身有点幽默(如果你愿意的话,另外一个内幕笑话),它将流程图转换成一个简单的指令列表(也就是伪代码),使用编号行作为参考点来识别哪个指令到阅读并遵循下一步。这个过程基本上与使用所谓的“goto循环”的经常编程的编程技术相同。 “此外,在无限循环和goto循环之间也存在轻微的交叉引用,这可能被引用,因为goto循环经常被批评(无论是否准确),因为它更可能在代码中创建无意的无限循环。主要是因为跟踪可能的进入和退出路径存在固有的困难,尤其是在以后对代码进行编辑时。