当前位置:  开发笔记 > 后端 > 正文

重构Ruby

如何解决《重构Ruby》经验,为你挑选了1个好方法。

我有三个数组,其中两个来自JSON.

我需要检查每个数组是否为nil且计数大于0.如果任何大于0,则显示"Hello World",否则显示"Boo".

<% if !@arrayOne.nil? && @arrayOne.count > 0 || !@user_json[:user_stuff].nil? && @user_json[:user_stuff].count > 0 || !@user_json[:more_user_stuff].nil? && @user_json[:more_user_stuff].count > 0 %>

Hello World

<% else %>

Boo

<% end %>

我需要一些帮助重构此代码,并希望了解其他方法来解决这个问题.



1> Leo Brito..:

您可以使用array.blank?(假设您当然使用Rails)来检查数组是否为空或者为空,例如:

<% if !@arrayOne.blank? || !@user_json[:user_stuff].blank? || !@user_json[:more_user_stuff].blank? %>

经验法则,您应尽可能多地将逻辑移动到控制器.


正如评论中所建议的那样,您也可以使用present?!blank?提高可读性相同的内容:

<% if @arrayOne.present? || @user_json[:user_stuff].present? || @user_json[:more_user_stuff].present? %> 


`!foo.blank?`可以写成`foo.present?`.什么读取很好的恕我直言.
推荐阅读
wurtjq
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有