대규모 코드 베이스에서는 함수 모듈화 및 재사용이 중요하며 단일 책임, 높은 응집력, 낮은 결합, 느슨한 결합의 원칙을 따릅니다. 모듈화 전략에는 함수 추출, 매개변수화된 함수, 고차 함수가 포함됩니다. 재사용 전략에는 도형 유형에 따라 면적을 계산하는 범용 함수 calcArea()가 포함되어 있으며 Shape 인터페이스와 Circle/Rectangle 클래스를 통해 다형성을 구현하여 코드 중복을 줄입니다.
대규모 코드 베이스에서는 함수 모듈화 및 재사용이 중요합니다. 모듈식 기능은 유지 관리를 용이하게 하고 코드 가독성과 재사용성을 향상시켜 개발 효율성과 코드 품질을 향상시킵니다.
원본 코드:
// 计算圆的面积 public double calcCircleArea(double radius) { return Math.PI * radius * radius; } // 计算矩形的面积 public double calcRectangleArea(double width, double height) { return width * height; }
모듈화된 코드:
// 定义一个计算面积的通用函数 public double calcArea(Shape shape) { return switch (shape.getType()) { case CIRCLE -> Math.PI * shape.getRadius() * shape.getRadius(); case RECTANGLE -> shape.getWidth() * shape.getHeight(); default -> throw new IllegalArgumentException("Unknown shape type"); }; } // Shape 接口定义了形状类型的常量 public interface Shape { enum Type { CIRCLE, RECTANGLE } Type getType(); double getRadius(); double getWidth(); double getHeight(); } // Circle 和 Rectangle 类实现 Shape 接口 public class Circle implements Shape { private double radius; public Circle(double radius) { this.radius = radius; } @Override public Type getType() { return Type.CIRCLE; } @Override public double getRadius() { return radius; } } public class Rectangle implements Shape { private double width; private double height; public Rectangle(double width, double height) { this.width = width; this.height = height; } @Override public Type getType() { return Type.RECTANGLE; } @Override public double getWidth() { return width; } @Override public double getHeight() { return height; } }
모듈화를 통해 코드 책임이 명확하고 재사용 가능합니다. 일반 함수 calcArea()
는 유사한 계산 논리를 반복하지 않고 전달된 모양 유형을 기반으로 면적을 계산합니다.
위 내용은 대규모 코드 베이스에서 함수를 모듈화하고 재사용하기 위한 모범 사례의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!