PHP 코드를 작성할 때 주의해야 할 사항

6980 단어 PHP

이 문장은 잘못된 것입니까?


PHP, 개인적으로는'쓰면 움직일 수 있는 느낌'같은 느린 느낌을 선호한다.
그러나 업무에 쓸 때, 특히 다른 사람이 보고 나면 어느 정도의 이해가 필요하다.
몇 달 동안 잘못되고 어둡고 깊은 시스템의 유지 보수 업무를 맡아'여기서 주의해야 한다'는 부분을 정리하고 싶습니다.

순환 처리


예를 들어foreach 같은 방식으로 배열을 회전하고 싶은 경우...

$arr = [0, 1, 5, 0, 3];
$filtered_arr = [];
foreach ($arr as $key => $val) {
  if ( ! empty($val)) {
    // ここになにか処理を書く
    echo "{$key} is not 0 : {$val}";
    $filtered_arr[] = $val;
  } else {
    continue;
  }
}
이런 인코딩이 있을 때, 나는 개인적으로 불만족스러운 점이 있다.
일단 여기야.
if ( ! empty($val)) {

if문 순서


주처리된 지점과continue가 있을 때의 지점이 있지만, 그 순서를 반대로 하는 것이 가장 좋다.
이런 느낌.
if (empty($val)) {
  continue;
}
// ここになにか処理を書く
echo "{$key} is not 0 : {$val}";
$filtered_arr[] = $val;
왜 이렇게 말합니까, 아까의 예에서 주요 처리는 "echo 후 깊이 배열"일 뿐입니다.
"메인 프로세서를 파악한 후에만(읽은 후에) continue를 발견할 수 있습니다."
처리 절차를 파악하기가 매우 어렵다.
"if문을 찾았을 때else문을 보세요"라고 말할 수도 있지만, 위에 쓴 방법을 먼저 쓰면
continue를 발견하는 데는 그런 시간이 필요 없어요.
처리의 절차를 파악하기 어렵다는 것이 관건이다.

empty를 쓰지 마세요...


PHP 브로셔에 따르면empty 함수는 変数が空であるかどうかを検査する가 있다.
하지만 사실 이것이 진정한 조건은
  • null
  • false
  • 빈 문자
  • 요소 0 어레이
  • 변수가 선언되었으나 값이 설정되지 않음
  • 이렇게 몇 개 있어요.
    어쨌든 어떤 조건을 점검했는지 명확하지 않다.
    나는
    if (strlen($str) <= 0) {}
    
    if (count($arr) <= 0) {}
    
    if ($intval <= 0)
    
    이처럼 의식적으로'기대가 어떤 값으로 변할지 명확히 하라'고 써야 한다.

    더 이상 바퀴를 개발하지 마라


    말하자면필터 쓰신다고요?
    $arr = [0, 1, 5, 0, 3];
    $filtered_arr = array_filter($arr, function($val) {
      return ($val !=== 0)
    });
    foreach ($filtered_arr as $val) {
      echo "{$key} is not 0 : {$val}";
    }
    

    클래스 디자인

    /*ShopCartController.php*/
    class ShopCartController {
      // カートに入ってる商品の合計を返す
      public function item_total_amount() {}
    }
    
    /*ShopOrderController.php*/
    class ShopOrderController {
      // カートに入ってる商品の合計を返す
      public function get_allitem_amount() {}
    }
    
    
    이거 역시 문제 없구나.
    "너무 심심해서..."그렇게 생각하실 수도 있어요.
    실제로 있었던 일이에요.
    아실 거라고 생각합니다.

    그러니까 써야 할 곳에 써라.이런 처리는 잘 총결산해야 한다.
    그리고 물론 총괄해야 할 부분은 컨트롤러가 아니다.

    왕림해 주셔서 감사합니다


    그게 다야.

    좋은 웹페이지 즐겨찾기