Refactoring 019 – نحوه Reify کردن آدرس های ایمیل

یک بار و فقط یک بار بگو

TL;DR: از تایید اعتبار ایمیل های تکراری خودداری کنید.

مشکلات پرداخته شده است

https://hackernoon.com/how-to-find-the-stinky-parts-of-your-code-part-x-i7r34uj

https://hackernoon.com/how-to-find-the-stinky-parts-of-your-code-part-xxv

https://hackernoon.com/how-to-find-the-stinky-parts-of-your-code-part-xiv

https://hackernoon.com/how-to-find-the-stinky-parts-of-your-code-part-xxxvi

کد بوی 20 – بهینه سازی زودرس

مراحل

  1. محل تکراری بودن منطق اعتبارسنجی ایمیل را مشخص کنید.

  2. ایجاد کنید Email Address کلاس برای کپسوله کردن قوانین اعتبارسنجی

  3. کد Refactor برای استفاده از Email Address کلاس به جای رشته های خام.

کد نمونه

قبل از

public class Person {
    private String emailAddress;
    // Primitive Obsession

    public void setEmailAddress(String emailAddress) {
        // Duplicated code
        if (!emailAddress.matches(
            "^[\\w.%+-]+@[\\w.-]+\\.[a-zA-Z]{2,}$")) {
            throw new IllegalArgumentException(
                "Invalid email address format");
        }
        this.emailAddress = emailAddress;
    }
}

public class JobApplication {
    private String applicantEmailAddress;

    public void setApplicantEmailAddress(String emailAddress) {
        // Duplicated code
        if (!emailAddress.matches(
           ...

Source link