PHPer로 매개변수 이름 지정하는 방법

매개 변수의 내포


방법명과 매개변수를 보고 뭘 하는지 모르는 방법이 스트레스 수치를 높이겠죠.
방법명에 관해서는 많은 견해가 있지만, 매개 변수에 관해서는 별로 말하지 않았다
나는 알기 쉬운 매개 변수를 생각해서 썼다.
이 방법의 매개 변수를 극의적으로 수정하다.
class Repository {
    public function method($name1, $name2, $address, $amount, $color, $perPage)
}
매개 변수는 왼쪽에서 시작하여 점포명, 상품명, 점포주소, 상품가격, 상품색깔, 한 페이지의 표시수입니다.
파라미터를 바탕으로 데이터를 압축하고 데이터를 가져오는 방법을 상상해 보십시오.
방법 명칭은 간소화하기 위해 적당하다.

Level.1 애매성을 줄이고 명확한 이름을 지어라


매개 변수를 정의하는 데 가장 중요한 것은 방법을 사용하는 사람이 길을 잃지 않고 무엇을 어디로 보내야 하는지를 정의하는 것이다.
Doc에 써도 괜찮습니다. 우선 변수 이름을 명확히 해야 합니다!
아래와 같이 애매성을 줄이고 명확하다.
가게 이름: $shopName
상품명: $itemName
이번 이름은 구글 번역에서 바로 나왔습니다. 저는 팀의 공통된 언어를 사용하는 것이 가장 좋다고 생각합니다!
제가 속한 팀의 상품은 제품스의 책상 위에 있기 때문에 상품의 변수명은 $제품0000공통화입니다.
public function method($shopName, $itemName, $address, $amount, $color, $perPage)
매개 변수가 좀 좋아졌어요!

Level.두 가지 유형을 발표해야 돼요.


물건에 따라 문자열이 아닌 수치로 데이터를 관리하는 패턴도 있죠.
무리는 했지만 이번 달러 색상은 문자열이 아닌 수치로 데이터를 관리했다.
1:빨간색
2: 파란색
3:녹색
이럴 때 업무 지식을 잘 아는 사람이 아니라면 문자열을 달러로 보낼지 숫자로 보낼지 판단하기 어렵다.
작은 불명확한 사항이 스트레스의 원인이다.
이런 상황이 발생하는 것을 방지하기 위해서 나는 매개 변수에 유형을 정의했다.
public function method(string $shopName, string $itemName, string $address,
                       int $amount, int $color, int $perPage)
그렇다면 어떤 가격을 보내야 더 명확해질까!
DDD 등을 사용하는 경우 값 객체로 유형을 선언하는 것이 좋습니다.

Level.3 의미 요약


업무 지식이 있는 사람은 지금 파라미터 상태라면 어떤 파라미터가 검색 조건인지 한눈에 알 수 있다.
그러니까 팀을 잘 나눠서 검색 조건이 뭔지 알아봅시다.
내 이상적인 모델이라면 DTO 등 검색용 파라미터를 저장할 수 있는 대상을 파라미터로 만드는 모델이다.
class ParameterDto {
    private string $shopName;
    private string $itemName;
    private string $address;
    private int $amount;
    private int $color;
}

class Repository {
    public function method(ParameterDto $parameter, int $perPage)
}
라인을 검색하려면 변수 이름에 like를 붙이고, 크기 비교를 하려면lt와 lt 등을 더해 개인 변수 이름에 공을 들이면 이해하기 쉽다.
DTO 같은 건 우리 팀에서 가져올 수 없어요.이 경우 Level을 요약하지 마십시오.나는 2의 상태를 유지하는 것이 비교적 좋다고 생각한다.
public function method(array $parameter, int $perPage)
배열이면 검색할 수 있는 조건이 불명확해져서 좋지 않아요...
다만 검색 조건이 많이 늘어나 파라미터가 7개 이상이면 배열하면 코드가 읽기 쉽다고 생각합니다.

후기의


비록 매개 변수의 극의라고 말하지만, 어떤 사람들은 그래도 알기 쉬운 변수명을 취하는 것이 비교적 좋다고 말한다.
나는 극의 시리즈를 그리려고 노력할 것이다.

좋은 웹페이지 즐겨찾기