由于在 Eclipse 中使用 Java,我总是非常容易确定方法的定义位置:只需 ctrl+单击方法调用,它就会将您带到其包含类中的方法定义。显然是 Eclipse 造成了很多这种情况,但即使使用普通的旧 Java,我们仍然需要依赖 import 语句。
在 Rails 开发中,方法查找似乎非常困难。
这是一个例子:
require 'test_helper'
class UserStoriesTest < ActionDispatch::IntegrationTest
fixtures: products
LineItem.delete_all
Order.delete_all
ruby_book = products(:ruby)
get "/"
assert_response :success
assert_template "index"
cart = Cart.find(session[:cart_id])
assert_equal 1, cart.line_items.size
assert_equal ruby_book, cart.line_items[0].product
get "/orders/new"
assert_response :success
assert_template "new"
end
假设我想仔细看看assert_equal方法。如果我正在使用 Java,并且包含assert_equal的类可能会由此类中的 import 语句描述,并明确指定其位置(例如java.lang.SomeCoreClass)。由于我不知道这个方法到底是在哪里定义的,所以我最终做的是谷歌搜索“assert_equal”以发现我正在调查的方法(可能并且希望)是在Test::Unit::Assertions中定义的。
我很想听听一些人关于他们确定方法位置的方法。