Pull to refresh

Comments 58

Плохой, так-как это программировал не я.
Проще говоря, это фатальный недостаток стиля других разработчиков.
Готика и кубизм в столь гротескной форме выглядят устрашающе. Не доводилось встречать подобного оформления. К счастью)

Было бы интересно увидеть варианты оформления (или даже рефакторинга :-D ) первоначального варианта кода от хабражителей. Не обязательно в серьезной форме.
Вообще я бы добавил к этой статье жанр «реализм» — строгое следование стилистическим гайдлайнам.
Имхо. У разных ЯП весьма разные стандарты оформления. В посте же приведены примеры оформления, плохие в любом случае.
Так в чем и дело! Следование стандартам того языка на котором пишешь.
[philosoraptor]Интересно, значки доллара добавляют ценности коду?[/philosoraptor]
[sarcasm]Это как посмотреть. Если ты отдаешь код заказчику, то ты отдаешь от себя доллары, т.е. платишь, что в общем уменьшает количество наличных в твоем кармане. А вот если ты получаешь от заказчика код, который кишит этим символом, то соответственно наоборот, увеличивает количество долларов которыми ты владеешь. [/sarcasm]
И правда, раз уж мы говорим о программировании, как таковом, то зачем эти dollar-sign возле переменных, да еще рядом со словами «С++, JAVA». Там такого нету в помине. Давайте уж использовать какой-нибудь lingua franca вроде Си, чтобы не приходилось переводить с PHP.
Знак доллара в именовании переменных используется как-минимум в php, perl, javascript. Да и в посте к именам переменных придираются только в барокко (и то по причине, не связанной с $).
На мой взгляд, какой бы из распространенных ЯП не взял бы ТС, нашлись бы те, кому выбор бы не понравился.
Ну про Javascript вы лукавите. Там его можно использовать, но не обязательно нужно использовать.
Я и не писал, что его нужно использовать. Примеры кода с $ не должны так уж взрывать мозг.
Да и в той же Java так же можно (и используется во вложенных классах, если память не изменяет) обзывать с использованием $.
Его обычно используют для обозначения jQuery-объекта.
Согласен, PHP явно не тот язык, на котором следовало писать примеры…
Из вышеперечисленных именно минимализм встречался мне чаще других. И это отвратительно.
Обнаружил в себе ультраминималиста… ))

sort($arr);
возможно стоило бы для примеров взять какой-нибудь более классический язык типа С или та же Java?
код на PHP, при всех достоинствах и недостатках языка, визуально уродлив.
И это все из-за "$"?
Да уж…
А в остальном, по-сути, тот же C или Java О_о
Абстракционизм

А вот это точно C#
Тут вроде бы уже перевели больше, чем 1 глава?
пс. я правда еще не смотрел
swift-info.ru
да :(
было открыло 2 вкладки, не в ту написал.
А как удалить — хз.
...
{
    $a = $arr[$j];
    $a1 = $arr[$j+1];

    if ($a<=$a1) 
        continue;
    
    $arr[$j] = $a1; 
    $arr[$j+1] = $a; 
}
Индуизм:
Пишем задание, прикладываем деньги, получаем решение от злых духов. Магия, да и только.
мы же творческие люди. Говнокода не существует, есть ранние работы
Такого направления, как «говнокод» в искусстве не бывает. Есть примитивизм.
Да-да-да. Говнокода не существует, есть «творческий подход». Это когда сначала натворил, а потом думаешь: «И с помощью какого нечистого духа все это работает?» :D
Точка с запятой в первой строчке (после комментария) области видимости оператора if, перед плюсом, и является тем самым хитрым манёвром?
Глаз — алмаз. Фиксить не буду, дабы люди видели что да как)
Страдаю абстракционизмом в тяжелой форме, не знаю, хорошо это или плохо.
Особенно «радует» готишный (конечно не такой выраженный как в примере автора) стиль при определении многомерных массивов в PHP, когда все выравнивают до такой степени что читаемость уже не улучшается, а падает.

$config = array(
    'db'             => array(
        'connectionString'   => 'mysql:host=localhost;dbname=site',
        'emulatePrepare'     => true,
        'username'           => 'root',
        'password'           => '',
        'charset'            => 'utf8',
    ),
    'clientScript'   => array(
        'scriptMap'  => array(
        ),
    ),
    'errorHandler'   => array(
        'errorAction'    => 'site/error',
    ),
    'log'            => array(
        'class'      => 'CLogRouter',
        'routes'     => array(
            array(
                'class'  => 'CFileLogRoute',
                'levels' => 'error, warning',
            ),
        ),
    ),
);
Тут все портит одинаковое выравнивание на разных уровнях, которое еще и не постоянно, а как автору захотелось.
Так лучше:
$config = array(
    'db'             => array(
        'connectionString'   => 'mysql:host=localhost;dbname=site',
        'emulatePrepare'     => true,
        'username'           => 'root',
        'password'           => '',
        'charset'            => 'utf8',
    ),
    'clientScript'   => array(
        'scriptMap'          => array(
        ),
    ),
    'errorHandler'   => array(
        'errorAction'        => 'site/error',
    ),
    'log'            => array(
        'class'              => 'CLogRouter',
        'routes'             => array(
            array(
                'class'          => 'CFileLogRoute',
                'levels'         => 'error, warning',
            ),
        ),
    ),
);
Как по мне, так не сильно лучше)
Как в идеале оформить этот кусок кода?
Идеал у каждого свой (личный, корпоративный, ...).
На свой вкус я бы оформил так
$config = array(
    'db' => array(
        'connectionString' => 'mysql:host=localhost;dbname=site',
        'emulatePrepare'   => true,
        'username'         => 'root',
        'password'         => '',
        'charset'          => 'utf8',
    ),
    'clientScript' => array(
        'scriptMap' => array(
        ),
    ),
    'errorHandler' => array(
        'errorAction' => 'site/error',
    ),
    'log' => array(
        'class'  => 'CLogRouter',
        'routes' => array(
            array(
                'class'  => 'CFileLogRoute',
                'levels' => 'error, warning',
            ),
        ),
    ),
);

Еще встречаю часто такой подход, который тоже в целом неплох (в php смотрится не особо, но в языках, использующих для разделителя ":" или "=", гораздо лучше)
...
    'db' => array(
        'connectionString' => 'mysql:host=localhost;dbname=site',
        'emulatePrepare' =>   true,
        'username' =>         'root',
        'password' =>         '',
        'charset' =>          'utf8',
    ),
...


Разбивать на отдельные массивы, и собирать итоговый из полученных.
За инициализацию четырёхмерного массива одной командой по рукам бить надо.
Хмм…

$A_R__R[$j]; + $A_R__R[$j+1]

";" и был хитрым манёвром?
комментарии не читай
@
сразу отвечай
Модернизм:

$sorted = new SplMaxHeap();
foreach($arr as $v) {
$sorted->insert($v);
}

А как же «пост модерн», где присутствуют и фичи понятные не каждому, и выравнивание в линейном стиле?
$data = $_POST[ 'modern' ];

for( $i = sizeof($data)-1; $i >= 0; $i-- ){
    for( $j = 0; $j <= ($i-1); $j++ ) {
        if( $data[$j] > $data[$j+1] ) {
            $data[$j] ^= $data[$j+1] ^= $data[$j] ^= $data[$j+1];
        }
   }
}
Зефиризм
int size, i, j;
var temp;
let size = sizeof(arr)-1;
    for i in range(size, 0) {
        for j in range(0, i - 1) {
            if arr[j] > arr[j+1] {
                let temp = arr[j];
                let arr[j] = arr[j+1];
                let arr[j+1] = (int)k;
            }
        }
    }
Зефиризм — это не направление в искусстве
Все программисты на ассемблере — готы.
Наглядно и компактно, чо
На работе проект выполнен в стиле экспрессионизма. Лапша-код, тонны копипасты и прочие прелести «экспресс-разработки» =)

Сам же я работаю в основном в смеси абстракционизма и готики: вынесение алгоритмических структур в библиотеки и классы, тщательное и аккуратное форматирование кода. Иногда форматирование отдаёт кубизмом, особенно в секциях данных. В самих алгоритмах периодически проскакивает барокко в виде «джедайских» приёмчиков. Впрочем присутствует иногда (особенно в последнее время) элемент поп-арта в виде не сильно литературных комментариев к коду.
Sign up to leave a comment.

Articles