یک بار و فقط یک بار بگو
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 – بهینه سازی زودرس
مراحل
-
محل تکراری بودن منطق اعتبارسنجی ایمیل را مشخص کنید.
-
ایجاد کنید
Email Address
کلاس برای کپسوله کردن قوانین اعتبارسنجی -
کد 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(
...