`
zzhang
  • 浏览: 17319 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

code refactor(keep adding)

阅读更多

1.
old code

def page_group_toolbar(page_group)
  c = ""
  case page_group.class_name
  when "Preparation"
    c << li_link_to(t("Preparation"), admin_self_study_page_groups_path(:scenario_id=>page_group.scenario.id, :type=>"preparation"), true) +
      li_link_to(t("TaskCard"), admin_self_study_page_groups_path(:scenario_id=>page_group.scenario.id, :type=>"task_card")) +
      li_link_to(t("ExtraContent"), admin_self_study_page_groups_path(:scenario_id=>page_group.scenario.id, :type=>"extra_content"))
  when "TaskCard"
    c << li_link_to(t("Preparation"), admin_self_study_page_groups_path(:scenario_id=>page_group.scenario.id, :type=>"preparation"))+
      li_link_to(t("TaskCard"), admin_self_study_page_groups_path(:scenario_id=>page_group.scenario.id, :type=>"task_card"), true)+
      li_link_to(t("ExtraContent"), admin_self_study_page_groups_path(:scenario_id=>page_group.scenario.id, :type=>"extra_content"))
  when "ExtraContent"
    c << li_link_to(t("Preparation"), admin_self_study_page_groups_path(:scenario_id=>page_group.scenario.id, :type=>"preparation"))+
      li_link_to(t("TaskCard"), admin_self_study_page_groups_path(:scenario_id=>page_group.scenario.id, :type=>"task_card"))+
      li_link_to(t("ExtraContent"), admin_self_study_page_groups_path(:scenario_id=>page_group.scenario.id, :type=>"extra_content"), true)
  end
  return c
end

 
Refactor1

def page_group_toolbar(page_group)
  c = ""
  c << li_link_to(t("Preparation"), admin_self_study_page_groups_path(:scenario_id=>page_group.scenario.id, :type=>"preparation"), preparation?(page_group))
  c << li_link_to(t("TaskCard"), admin_self_study_page_groups_path(:scenario_id=>page_group.scenario.id, :type=>"task_card"), task_card?(page_group))
  c << li_link_to(t("ExtraContent"), admin_self_study_page_groups_path(:scenario_id=>page_group.scenario.id, :type=>"extra_content"), extra_content?(page_group))
  return c
end

def preparation?(page_group) 
  page_group.class_name == "preparation".camelize 
end 

def task_card?(page_group) 
  page_group.class_name == "task_card".camelize 
end 

def extra_content?(page_group) 
  page_group.class_name == "extra_content".camelize 
end 

 

Refactor2

TYPES = %w(preparation task_card extra_content)
def page_group_toolbar(page_group)
  returning "" do |c|
    TYPES.each do |type|
      c << li_link_to(t(type.camelize), admin_self_study_page_groups_path(:scenario_id => page_group.scenario.id, :type => type), send("#{type}?", page_group)) if page_group.scenario.send(type)
    end
  end
end

TYPES.each do |type| 
  define_method "#{type}?" do |page_group| 
    page_group.class_name == t.camelize 
  end 
end
0
0
分享到:
评论

相关推荐

    code_refactor

    code_refactor 前端和初级开发人员最常见的任务之一是采用现有代码并对其进行重构,以满足特定的标准集或实施新技术。 Web 可访问性对于企业来说是一个越来越重要的考虑因素,确保残疾人或社会经济限制的人可以访问...

    hw01_code_refactor-main-源码.rar

    《源码重构:hw01_code_refactor-main的深度解析》 在软件开发过程中,代码重构是一项至关重要的任务,它不仅关乎程序的可读性、可维护性,更直接影响到团队协作与项目进度。"hw01_code_refactor-main"这一压缩包...

    01_Code-Refactor

    作业1 在有关我更改的内容和原因的段落中添加项目符号。 语义html元素在其代码库中发现差异任务是重构网站以确保其符合可访问性标准针对搜索引擎进行了优化地址接受标准项目:-项目符号特点:-更改在代码中注释-元素...

    code-refactor

    一种。 应用说明 重构是一种重组现有代码的技术,该代码易于阅读,更易于其他Web开发人员进行调试,并且修改成本较低,同时又保持了现有代码的外部行为。 我认为,在合并现有的不重复开发人员(DRY)的编码开发人员...

    Code-Refactor:HTML CSS Git

    代码重构资料库该存储库(代码重构)是CARL-OTT-FSF-PT-02-20121-UC课程中的一项教育作业。... 还有一个CSS组件,使学生可以更加了解自己的内在联系。部署的网站链接任务任务是帮助市场营销机构重构现有代码,使其符合...

    Code-Refactor

    作业指导 每周,您的讲师都将针对该周的家庭作业的说明添加到课程回购中,并宣布已准备就绪。 您的讲师和助教还将在课堂上演示家庭作业。 如何做功课 作业旨在为您做好准备,以迎接开发人员遇到的两种情况: ...

    refactor(重构-改善既有代码的设计)

    refactor(重构-改善既有代码的设计),中文版共15章

    CodeRush with Refactor! Pro 2.5.1

    CodeRush™ with Refactor!™ Pro Powerful. Efficient. Fast. &lt;br&gt;Today, software consumers demand more than ever before from developers. The pressure to deliver more features with ...

    refactor clean code design pattern书单

    Martin(Uncle Bob)的《Clean Code》一书深入探讨了如何写出高质量的代码,强调了代码应具有良好的命名、函数和类的粒度控制、注释的适当使用等原则。 3. **设计模式**:设计模式是解决软件设计中常见问题的通用...

    BuildSql Refactor

    【标题】"BuildSql Refactor" 是一个关于SQL构建和重构的工具或技术,它旨在提高数据库查询代码的效率和可维护性。SQL重构通常涉及优化查询语句、规范化数据库结构以及改善数据访问模式,以提升应用性能。在这个场景...

    Refactor pro

    《Refactor Pro 1.0.31:.Net开发中的高效重构利器》 Refactor Pro,作为一款专为.Net开发者设计的插件,旨在提升编程效率和代码质量。其1.0.31版本的发布,带来了诸多新功能和改进,让开发者在日常编码过程中能够...

    Horiseon-Code-Refactor

    在"Horiseon-Code-Refactor-main"目录下,我们可以看到项目的源代码和可能的修改文件。通过对比重构前后的差异,我们可以学习到如何将最佳实践应用到实际项目中,提升我们的HTML编码技能。 总结来说,"Horiseon-...

    refactor(FrameWork4.0)

    标题"refactor(FrameWork4.0)"暗示了这次我们将讨论的是一个针对Framework 4.0的重构过程。 重构是对现有代码进行修改,以改善其内部结构,而不改变其外部行为的过程。在.NET Framework 4.0的背景下,重构可能是...

    hw1-code-refactor

    hw1-code-refactor 该存储库用于第1周HW1的代码重构家庭作业,代表第1周的代码重构是分配给github的第一份作业的头衔

    Horizon-Code-Refactor

    在"Horizon-Code-Refactor-main"这个目录下,你将找到项目的具体实现,包括重构前后的代码对比,这将为你提供一个实践这些原则的实际场景。通过学习和实践,你不仅能提升HTML重构技巧,还能对整个网站的架构有更深入...

    CodeRush 和 Refactor Pro的最新版本11.2.8

    CodeRush 和 Refactor Pro的最新版本11.2.8,我从网站上下载的,要注册才能下载,要的朋友就不用注册了,免费下载了。

    horiseon-code-refactor

    在"Horiseon-code-refactor"中,我们可以推测以下关键知识点: 1. **HTML基础**:HTML(超文本标记语言)是构建网页的基础,用于定义页面内容和结构。在重构过程中,理解HTML元素、属性和语义化标签(如、、、、和...

    Code-refactor-homework

    在"Code-refactor-homework-main"这个目录下,我们可以预期找到项目的源代码文件。这些文件可能是HTML文档,其中可能包含了原始的非优化代码,等待我们进行重构。重构过程中,我们需要关注以下几个关键点: 1. **...

    js2-refactor.el, emacs的JavaScript重构库.zip

    js2-refactor.el, emacs的JavaScript重构库 js2-refactor.el emacs的JavaScript重构库。这是一个小型重构函数的Collection,以进一步了解从js2-mode开始的Emacs中的JavaScript IDE 。在 0.8.0中更改添加 e

Global site tag (gtag.js) - Google Analytics