Comments 58
Плохой, так-как это программировал не я.
Готика и кубизм в столь гротескной форме выглядят устрашающе. Не доводилось встречать подобного оформления. К счастью)
Было бы интересно увидеть варианты оформления (или даже рефакторинга :-D ) первоначального варианта кода от хабражителей. Не обязательно в серьезной форме.
Было бы интересно увидеть варианты оформления (или даже рефакторинга :-D ) первоначального варианта кода от хабражителей. Не обязательно в серьезной форме.
[philosoraptor]Интересно, значки доллара добавляют ценности коду?[/philosoraptor]
[sarcasm]Это как посмотреть. Если ты отдаешь код заказчику, то ты отдаешь от себя доллары, т.е. платишь, что в общем уменьшает количество наличных в твоем кармане. А вот если ты получаешь от заказчика код, который кишит этим символом, то соответственно наоборот, увеличивает количество долларов которыми ты владеешь. [/sarcasm]
PHP — классика?
И правда, раз уж мы говорим о программировании, как таковом, то зачем эти dollar-sign возле переменных, да еще рядом со словами «С++, JAVA». Там такого нету в помине. Давайте уж использовать какой-нибудь lingua franca вроде Си, чтобы не приходилось переводить с PHP.
Знак доллара в именовании переменных используется как-минимум в php, perl, javascript. Да и в посте к именам переменных придираются только в барокко (и то по причине, не связанной с $).
На мой взгляд, какой бы из распространенных ЯП не взял бы ТС, нашлись бы те, кому выбор бы не понравился.
На мой взгляд, какой бы из распространенных ЯП не взял бы ТС, нашлись бы те, кому выбор бы не понравился.
Ну про Javascript вы лукавите. Там его можно использовать, но не обязательно нужно использовать.
Согласен, PHP явно не тот язык, на котором следовало писать примеры…
Из вышеперечисленных именно минимализм встречался мне чаще других. И это отвратительно.
Обнаружил в себе ультраминималиста… ))
sort($arr);
возможно стоило бы для примеров взять какой-нибудь более классический язык типа С или та же Java?
код на PHP, при всех достоинствах и недостатках языка, визуально уродлив.
код на PHP, при всех достоинствах и недостатках языка, визуально уродлив.
Абстракционизм
А вот это точно C#
...
{
$a = $arr[$j];
$a1 = $arr[$j+1];
if ($a<=$a1)
continue;
$arr[$j] = $a1;
$arr[$j+1] = $a;
}
Лучший стиль:
arr = arr
.OrderBy(x=>x)
.ToArray();
Индуизм:
Пишем задание, прикладываем деньги, получаем решение от злых духов. Магия, да и только.
Пишем задание, прикладываем деньги, получаем решение от злых духов. Магия, да и только.
Говнокод забыли
мы же творческие люди. Говнокода не существует, есть ранние работы
Такого направления, как «говнокод» в искусстве не бывает. Есть примитивизм.
Искусствоведов группа тихо,
Восторженно глядит на холст —
И вдруг один, седой и строгий,
Отчётливо сказал: «Говно».
Восторженно глядит на холст —
И вдруг один, седой и строгий,
Отчётливо сказал: «Говно».
Да-да-да. Говнокода не существует, есть «творческий подход». Это когда сначала натворил, а потом думаешь: «И с помощью какого нечистого духа все это работает?» :D
Футуризм:
// todo: write a code
Точка с запятой в первой строчке (после комментария) области видимости оператора 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',
),
),
),
);
Как по мне, так не сильно лучше)
Как в идеале оформить этот кусок кода?
Идеал у каждого свой (личный, корпоративный, ...).
На свой вкус я бы оформил так
Еще встречаю часто такой подход, который тоже в целом неплох (в 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',
),
),
),
);
Еще встречаю часто такой подход, который тоже в целом неплох (в 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);
}
…
$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;
}
}
}
Все программисты на ассемблере — готы.
Еще Streetfighter-style:


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