Rumah > Artikel > pembangunan bahagian belakang > Amalan terbaik untuk memodulatkan dan menggunakan semula fungsi dalam pangkalan kod yang besar
Dalam asas kod yang besar, pemodulatan fungsi dan penggunaan semula adalah penting, dan prinsip tanggungjawab tunggal, kohesi tinggi, gandingan rendah dan gandingan longgar dipatuhi. Strategi modularisasi termasuk pengekstrakan fungsi, fungsi berparameter, dan fungsi peringkat tinggi. Strategi penggunaan semula termasuk fungsi universal calcArea(), yang mengira kawasan mengikut jenis bentuk, dan melaksanakan polimorfisme melalui antara muka Bentuk dan kelas Bulatan/Segi Empat untuk mengurangkan pertindihan kod.
Dalam pangkalan kod yang besar, pemodulatan fungsi dan penggunaan semula adalah penting. Fungsi modular memudahkan penyelenggaraan, meningkatkan kebolehbacaan kod dan kebolehgunaan semula, dengan itu meningkatkan kecekapan pembangunan dan kualiti kod.
Kod asal:
// 计算圆的面积 public double calcCircleArea(double radius) { return Math.PI * radius * radius; } // 计算矩形的面积 public double calcRectangleArea(double width, double height) { return width * height; }
Kod termodular:
// 定义一个计算面积的通用函数 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; } }
Melalui modularisasi, tanggungjawab kod adalah jelas dan boleh digunakan semula. Fungsi umum calcArea()
mengira kawasan berdasarkan jenis bentuk yang dilalui tanpa mengulangi logik pengiraan yang serupa.
Atas ialah kandungan terperinci Amalan terbaik untuk memodulatkan dan menggunakan semula fungsi dalam pangkalan kod yang besar. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!