rslogix produced para ons instrucciones instruccion equ declaración declaracion controllogix consumed bateria and php formatting readability

php - produced - instrucciones plc 5000



Formateo de una instrucción if para facilitar la lectura (8)

Encuentro que lo siguiente es más legible usando getimagesize (). Estoy escribiendo esto en la parte superior de mi cabeza por lo que puede requerir alguna depuración.

El código vertical es más legible que horizontal, imho.

// Extract image info if possible // Note: Error suppression is for missing file or non-image if (@$imageInfo = getimagesize("{$thumbsdir}/{$file}")) { // Accept the following image types $acceptTypes = array( IMAGETYPE_JPEG, IMAGETYPE_GIF, IMAGETYPE_PNG, ); // Proceed if image format is acceptable if (in_array($imageInfo[2], $acceptTypes)) { //createThumb(...); //fwrite(...); } }

Paz + feliz piratería.

¿Cuál es la mejor manera de formatear esto para la legibilidad?

if (strpos($file, ''.jpg'',1) && file_exists("$thumbsdir/$file") == false || strpos($file, ''.gif'',1) && file_exists("$thumbsdir/$file") == false || strpos($file, ''.png'',1) && file_exists("$thumbsdir/$file") == false) { createThumb("$gallerydir/$file", "$thumbsdir/$file",$thumbsize); fwrite($log,date("Y-m-d")." @ ".date("H:i:s")." CREATED: $thumbsdir/$file/n"); }


La comprobación file_exists parece ser constante para cada uno de los tipos de archivos, por lo tanto, no los compare a menos que se haya file_exists comprobación file_exists .

if (file_exists("$thumbsdir/$file") == false) { if(strpos($file, ''.jpg'',1) || strpos($file, ''.gif'',1) || strpos($file, ''.png'',1) { createThumb("$gallerydir/$file", "$thumbsdir/$file",$thumbsize); fwrite($log,date("Y-m-d")." @ ".date("H:i:s")." CREATED: $thumbsdir/$file/n"); } }


Yo separaría los ifs ya que hay algún código de repetición allí. También trato de salir de una rutina lo antes posible:

if (!strpos($file, ''.jpg'',1) && !strpos($file, ''.gif'',1) && !strpos($file, ''.png'',1)) { return; } if(file_exists("$thumbsdir/$file")) { return; } createThumb("$gallerydir/$file", "$thumbsdir/$file",$thumbsize); fwrite($log,date("Y-m-d")." @ ".date("H:i:s")." CREATED: $thumbsdir/$file/n");


function check_thumbnail($file) { return (strpos($file, ''.jpg'',1) && file_exists("$thumbsdir/$file") == false || strpos($file, ''.gif'',1) && file_exists("$thumbsdir/$file") == false || strpos($file, ''.png'',1) && file_exists("$thumbsdir/$file") == false); } if (check_thumbnail ($file)) { createThumb("$gallerydir/$file", "$thumbsdir/$file",$thumbsize); fwrite($log,date("Y-m-d")." @ ".date("H:i:s")." CREATED: $thumbsdir/$file/n"); }

Después de extraer la lógica a una función separada, puede reducir la duplicación:

function check_thumbnail($file) { return (strpos($file, ''.jpg'',1) || strpos($file, ''.gif'',1) || strpos($file, ''.png'',1)) && (file_exists("$thumbsdir/$file") == false); }


if ((strpos($file, ''.jpg'',1) || strpos($file, ''.gif'',1) || strpos($file, ''.png'',1)) && file_exists("$thumbsdir/$file") == false) { createThumb("$gallerydir/$file", "$thumbsdir/$file",$thumbsize); fwrite($log,date("Y-m-d")." @ ".date("H:i:s")." CREATED: $thumbsdir/$file/n"); }


Bien podría arrojar mis dos centavos.

if(!file_exists($thumbsdir . ''/'' . $file) && preg_match(''//.(?:jpe?g|png|gif)$/'', $file)) { createThumb($gallerydir . ''/'' . $file, $thumbsdir . ''/'' . $file, $thumbsize); fwrite($log, date(''Y-m-d @ H:i:s'') . '' CREATED: '' . $thumbsdir . ''/'' . $file . "/n"); }


Extraería la lógica "es una imagen" en su propia función, lo que hace que sea más legible y también te permite centralizar la lógica.

function is_image($filename) { $image_extensions = array(''png'', ''gif'', ''jpg''); foreach ($image_extensions as $extension) if (strrpos($filename, ".$extension") !== FALSE) return true; return false; } if (is_image($file) && !file_exists("$thumbsdir/$file")) { createThumb("$gallerydir/$file", "$thumbsdir/$file",$thumbsize); fwrite($log,date("Y-m-d")." @ ".date("H:i:s")." CREATED: $thumbsdir/$file/n"); }


Lo dividiría así, dejando de lado el problema de la redundancia:

if (strpos($file, ''.jpg'',1) && file_exists("$thumbsdir/$file") == false || strpos($file, ''.gif'',1) && file_exists("$thumbsdir/$file") == false || strpos($file, ''.png'',1) && file_exists("$thumbsdir/$file") == false) { createThumb("$gallerydir/$file", "$thumbsdir/$file",$thumbsize); fwrite($log,date("Y-m-d")." @ ".date("H:i:s")." CREATED: $thumbsdir/$file/n"); }

La respuesta de @Fire Lancer aborda bien la redundancia.