RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 573401
Accepted
Гончаров Александр
Гончаров Александр
Asked:2020-10-04 08:33:54 +0000 UTC2020-10-04 08:33:54 +0000 UTC 2020-10-04 08:33:54 +0000 UTC

如何在代码中正确标记拐杖?

  • 772

通常,在任何开发中,有必要编写预先知道它的代码:

  1. 极其不灵活。或者..
  2. 将来可能会导致错误和问题。或者..
  3. 我们根本不读书。

或者这样的代码是继承而来的,你想把以后需要理顺的地方标出来。这样的代码在俄语中称为拐杖。不幸的是,很难在英语网站上找到有关此的信息,因为它们原则上没有术语“拐杖”。建议翻译为“kludge”——但这并不经常被理解。

问题是如何用注释标记代码中的拐杖,这样就可以很容易地列出项目中的所有拐杖,并且非常希望它们在 IDE 中可见,甚至可以确定优先级?我对 PhpStorm 更感兴趣,但其他人可能有兴趣了解他们的 IDE。

PS
评论里当然有专门的标注TODO,但是我想把拐杖TODO分开来介绍一下,毕竟本质上还是有很大区别的。因此,一些人同意特殊评论,例如:

/* TRASHCODE {why below code is bad} */
...
/* TRASHCODE end*/

然后就很容易搜索到代码了,但是在这种情况下,IDE 在审查拐杖方面没有任何帮助。

ide
  • 3 3 个回答
  • 10 Views

3 个回答

  • Voted
  1. Best Answer
    PinkTux
    2020-10-04T09:19:41Z2020-10-04T09:19:41Z

    我想分别代表拐杖和 TODO

    首先,所有体面的 IDETODO也理解“开箱即用” FIXME。

    但在这种情况下没有 IDE 帮助查看拐杖

    其次,所有体面的 IDE :) 都可以添加自定义任务标签。

    PhpStorm(以及任何其他 jetbrain 的):

    在此处输入图像描述

    Eclipse(甚至可以为每种语言/项目定制):

    在此处输入图像描述

    对于 FIXME 和 TODO - 你能标记结束吗?即,使用注释选择块。

    据我了解-不,到处都只跟踪带有关键字的一行。最大的可能就是在对应的tab里面点一下,然后到源码里的这个地方。

    克里昂:

    在此处输入图像描述

    已收藏:

    在此处输入图像描述

    日蚀:

    在此处输入图像描述

    已收藏:

    在此处输入图像描述

    • 13
  2. Firepro
    2020-10-04T09:49:13Z2020-10-04T09:49:13Z

    啊哈哈...没有比临时解决方案更永久的了

    如果你不能为特定任务编写简洁灵活的代码,那么你的架构设计就有问题,你应该提高你的技能,新手开发人员由于缺乏经验而出现这样的问题。请记住,一个拐杖需要一堆新拐杖,扩展系统及其功能以及进行更改都将很困难。

    你对英语缺少拐杖有点不对,它通常被称为kludge或workaround

    需要修复的代码片段通常用FIXME标记,许多编辑器和 PHPSTORM 都支持它,它在 TODO 中标记。FIXME 紧接在有问题的成员之前,可能包含对哪些代码行存在问题以及需要修复哪些问题的描述,没有分隔符。

    FIXME: строки 38-120 имеют низкую абстракцию. 
    

    体验

    我可以说我和我的同事们很少标记拐杖。通常他们在新任务或错误搜索时立即重写而没有标记(班级已经解雇了几次,即使在更正之后),因为所有这些标记都在缺乏时间的情况下变成了永久标记。自然地,拐杖正在被不狂热地重写,以节省业务资金用于产品的进一步开发和支持。

    如果团队保持高度抽象的愿望,遵守类中行数的规则,重构一些歪歪扭扭的代码花不了多少时间,但如果是继承的,那么就需要确定层次根据为任务提供的时间进行重构。

    PS 避免不必要的范例:costing、incostyling和polycosting,编写漂亮的代码,至少附上一分钟的设计。

    • 1
  3. Ninazu
    2020-10-04T14:54:26Z2020-10-04T14:54:26Z

    PHP

    #region FIXME Bug text
    ...
    #endregion
    

    javascript

    //region FIXME Bug text
    ...
    //endregion
    
    • 1

相关问题

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    如何停止编写糟糕的代码?

    • 3 个回答
  • Marko Smith

    onCreateView 方法重构

    • 1 个回答
  • Marko Smith

    通用还是非通用

    • 2 个回答
  • Marko Smith

    如何访问 jQuery 中的列

    • 1 个回答
  • Marko Smith

    *.tga 文件的组重命名(3620 个)

    • 1 个回答
  • Marko Smith

    内存分配列表C#

    • 1 个回答
  • Marko Smith

    常规赛适度贪婪

    • 1 个回答
  • Marko Smith

    如何制作自己的自动完成/自动更正?

    • 1 个回答
  • Marko Smith

    选择斐波那契数列

    • 2 个回答
  • Marko Smith

    所有 API 版本中的通用权限代码

    • 2 个回答
  • Martin Hope
    jfs *(星号)和 ** 双星号在 Python 中是什么意思? 2020-11-23 05:07:40 +0000 UTC
  • Martin Hope
    hwak 哪个孩子调用了父母的静态方法?还是不可能完成的任务? 2020-11-18 16:30:55 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    user207618 Codegolf——组合选择算法的实现 2020-10-23 18:46:29 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    Arch ArrayList 与 LinkedList 的区别? 2020-09-20 02:42:49 +0000 UTC
  • Martin Hope
    iluxa1810 哪个更正确使用:if () 或 try-catch? 2020-08-23 18:56:13 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5