Ruby 代碼重構是一種改進現有代碼結構和設計的實踐,以提高代碼的可讀性、可維護性和性能。以下是一些常用的 Ruby 代碼重構策略:
# 重命名前的代碼
def calculate_area(width, h)
width * h
end
# 重命名后的代碼
def calculate_triangle_area(base, height)
base * height / 2
end
# 提取方法前的代碼
def process_data(data)
cleaned_data = data.gsub(/[^0-9]/, '')
cleaned_data.split(',').map(&:to_i)
end
# 提取方法后的代碼
def process_data(data)
cleaned_data = clean_data(data)
convert_to_integers(cleaned_data)
end
def clean_data(data)
data.gsub(/[^0-9]/, '')
end
def convert_to_integers(data)
data.split(',').map(&:to_i)
end
# 內聯方法前的代碼
def calculate_discount(price, discount_percentage)
discounted_price = price * (1 - discount_percentage / 100.0)
discounted_price
end
# 內聯方法后的代碼
def calculate_discount(price, discount_percentage)
price * (1 - discount_percentage.to_f / 100)
end
# 使用常量前的代碼
def calculate_tax(price, tax_rate)
price * (1 + tax_rate / 100.0)
end
# 使用常量后的代碼
TAX_RATE = 0.1
def calculate_tax(price)
price * (1 + TAX_RATE)
end
# 替換條件為查詢方法前的代碼
def is_adult(age)
age >= 18
end
# 替換條件為查詢方法后的代碼
def is_adult?(age)
age >= 18
end
# 使用模塊和類前的代碼
def calculate_area(width, height)
width * height
end
def calculate_perimeter(width, height)
2 * (width + height)
end
# 使用模塊和類后的代碼
class Rectangle
attr_accessor :width, :height
def initialize(width, height)
@width = width
@height = height
end
def area
width * height
end
def perimeter
2 * (width + height)
end
end
在進行代碼重構時,請確保充分了解代碼的功能和目的,并在重構過程中進行適當的測試,以確保代碼的正確性和穩定性。