هر چه تورفتگی یا Indentation در کدهای برنامه بیشتر باشد، خوانایی با نسبتی نمایی کاهش مییابد.
در حالت ایدهآل تورفتگی در هر تابع نباید بیش از یک پله باشد.
<?php if( $user_name == 'AMIB' ) { foreach( $files as $file ) { if( $file == 'image.jpg' ) { // BAD } } } ?> |
برای پاکسازی تورفتگیها گاهی تلاش زیادی لازم است. در مورد «if»ها، استفاده از شرط معکوس میتواند بهترین راهحل باشد. شکستن عملکرد کدهای بلند به توابع کوچکتر نیز یکی از راههای خوب برای کاهش تورفتگی و افزایش خوانایی است:
<?php if( $user_name != 'AMIB' ) { return; } foreach( $files as $file ) { // GOOD process_file( $file ); } ?> |
تلاش کنید تا جایی که ممکن است از کلمهی کلیدی «else» استفاده نکنید. نوشتن صریح شرط به جای «else» و یا حالت سادهتر، نوشتن شرط در توضیحات مقابل «else» میتواند راهحلهای جایگزین باشند.
<?php // ========= BAD ========= if( $user_name == 'AMIB' ) { // ... // ... } else { // BAD } // ========= GOOD ========= if( $user_name == 'AMIB' ) { // ... // ... } if( $user_name != 'AMIB' ) { // GOOD } // ======= GOOD TOO ======= if( $user_name == 'AMIB' ) { // ... // ... } else { // $user_name != 'AMIB' // GOOD TOO } ?> |