27 февраля 2006

Про простоту и незамысловатость

Тут вот в комментах люди отмечают, что пишу я вещи в ПРИНЦипе прозаические (про заек?), словно вынырнул я из каких-то неведомых глубин программирования и узрел свет в оконце - более простые и даже примитивные методы запрогать что-то полезное. Да, я согласен, для многих людей то, что я здесь излагаю - проза, скучная, серая. А для многих других - новинка, даже диковинка.

Но когда я вижу вот такой код, то я готов завести ещё 5 блогов и писать ещё более простые вещи ещё более примитивным языком:

<?php
$idmode = $userdata->user_idmode;
if ($idmode == 'nickname')
  $user_identity = $userdata->user_nickname;
if ($idmode == 'login')
  $user_identity = $userdata->user_login;
if ($idmode == 'firstname')
  $user_identity = $userdata->user_firstname;
if ($idmode == 'lastname')
  $user_identity = $userdata->user_lastname;
if ($idmode == 'namefl')
  $user_identity = $userdata->user_firstname.
  ' '.$userdata->user_lastname;
if ($idmode == 'namelf')
  $user_identity = $userdata->user_lastname.
  ' '.$userdata->user_firstname;
if (!$idmode)
  $user_identity = $userdata->user_nickname;
?>

Код я этот откопал в одном популярном блоговом движке, не буду называть его, чтобы не портить людям настроение.

Как бы я написал? Просто: switch() и в дефолте $user_identity = $userdata->user_nickname;

Кстати, знаете, как я понимаю, что написанный код действительно хорош? Когда после N-ной правки я удаляю половину кода, а функциональность не теряется и не ухудшается. Чаще всего так получается сделать, если сделегировать часть работы какой-то другой и более грамотно написанной программе: броузеру, апачу, май-эс-кью-элю, самой операционке... И тогда я слышу чей-то шепот за спиной: keep it simple, stupid :]

0 комментов:

Отправить комментарий