Вчера при участии glock18 слепил форматтер кривых листингов, чтоб хоть как то приводить их в божеский вид. Я знаю, что вроде есть консольные программы, но свой роднее и интереснее.
У кого есть куча говнокода, помогите плиз потестить. Скрипт сырой и может вообще это плохая идея. Но что сделано, то сделано.

Спустя 12 минут, 53 секунды (1.10.2009 - 14:13) Gabriel написал(а):
ууу я седня с работы прийду посмотрю чего ты там сделал *зловешая ухмылка на лице*
Спустя 7 минут, 46 секунд (1.10.2009 - 14:21) sergeiss написал(а):
И чего он должен сделать?
Я ввел первое, что на ум пришло:
Я ввел первое, что на ум пришло:
PHP |
if( $a < 0 ) { |
А твой "антиговнокодер" так и выдал мне всё обратно... Именно в этом формате.
Или это считается правильно, красиво написанным кодом?

Спустя 5 минут, 35 секунд (1.10.2009 - 14:26) twin написал(а):
А это html у тебя? <?php или <? хотя бы гидэ?
Спустя 3 минуты, 47 секунд (1.10.2009 - 14:30) Gabriel написал(а):
омг а хтмл прижимает к левому краю не оч гуд

Спустя 1 минута, 22 секунды (1.10.2009 - 14:31) glock18 написал(а):
Да, исходный код в студию! Доработаем дружно это детище, потому что оно не должно пропасть
в аттаче файл с моим кодом. не знаю, считать его говнокодом или нормально и красиво написанным, но то, как он был обработан
В общем, Твин давай мне код, я тебе помогать буду

в аттаче файл с моим кодом. не знаю, считать его говнокодом или нормально и красиво написанным, но то, как он был обработан

В общем, Твин давай мне код, я тебе помогать буду

Спустя 5 минут, 18 секунд (1.10.2009 - 14:37) SunSet написал(а):
Неплохая штука на самом деле. Правда, сделав отступы от края говнокод не превратится во чтото лучше)) Только для читабельности.

Спустя 7 минут, 21 секунда (1.10.2009 - 14:44) Mozzi написал(а):
Потестил понравилось. Засунул это безумие:
PHP |
<?php |
Получил это:
PHP |
<?php |
Где ошибка я думаю ясно.
Есть ещё пожелания, ну например if оформлять с пробелом, ну просто потому что это оператор, а не функция (хотя здесь конечно у всех свои предпочтения). Ну и опционально добавить экономию вертикального пространства (открывающую фигурную скобку помещать на той же строке что оператор/определение функции).
Спустя 17 секунд (1.10.2009 - 14:44) twin написал(а):
Цитата |
омг а хтмл прижимает к левому краю не оч гуд |
Исходник плиз, что там не гут.
PHP |
Неплохая штука на самом деле. Правда, сделав отступы от края говнокод не превратится во чтото лучше)) Только для читабельности. |
А для чего же еще... или ты думал он щас тебе все ошибки поисправляет?

Это надо антипопин писать.
Спустя 5 минут, 34 секунды (1.10.2009 - 14:50) twin написал(а):
Цитата |
Где ошибка я думаю ясно. |
Ошибка в коде. Точки с запятой просто нету.
Цитата |
Ну и опционально добавить экономию вертикального пространства (открывающую фигурную скобку помещать на той же строке что оператор/определение функции). |
А чего экономить то? Не так дорого это стоит.

Спустя 5 минут, 2 секунды (1.10.2009 - 14:55) glock18 написал(а):
Поделюсь своими соображениями.
Я бы если писал подобную утилиту, сначала удалял бы форматирование, а уже потом применял свое по строгим правилам. тогда, наиболее вероятно, что один и тот же файл с любым форматированием был бы преобразован в одно и то же.
Я бы если писал подобную утилиту, сначала удалял бы форматирование, а уже потом применял свое по строгим правилам. тогда, наиболее вероятно, что один и тот же файл с любым форматированием был бы преобразован в одно и то же.
Спустя 2 минуты, 1 секунда (1.10.2009 - 14:57) twin написал(а):
Цитата |
в аттаче файл с моим кодом. не знаю, считать его говнокодом или нормально и красиво написанным, но то, как он был обработан |
Долго возился с многострочными комментами, так и не поборол до конца.
Исходник чуть позже выложу, там у меня у самого говнокод

Цитата |
Я бы если писал подобную утилиту, сначала удалял бы форматирование, |
Я вроде так и сделал.
Спустя 4 минуты, 3 секунды (1.10.2009 - 15:01) glock18 написал(а):
Цитата |
Я вроде так и сделал. |
можешь в асю кинуть исходник. я только в качестве помощника буду выступать

Спустя 9 минут, 51 секунда (1.10.2009 - 15:11) SunSet написал(а):
twin
glock18
Вы если уж делаете скрипт с настройками для пользователя (2 или 4 проблела, например), то и дайте возможность чтото еще менять, цвет например, может, размер хтмл изменять, или тот же отступ делать или нет после if().
А то вроде автор сервиса интерисуется мнением других, но в то же время говорит что сделал это изначально только для себя. Вот с такого и Билл Гейтс начинал
а потом денег просит за лицензию)))
glock18
Вы если уж делаете скрипт с настройками для пользователя (2 или 4 проблела, например), то и дайте возможность чтото еще менять, цвет например, может, размер хтмл изменять, или тот же отступ делать или нет после if().
А то вроде автор сервиса интерисуется мнением других, но в то же время говорит что сделал это изначально только для себя. Вот с такого и Билл Гейтс начинал

Спустя 14 минут, 50 секунд (1.10.2009 - 15:26) twin написал(а):
Цитата |
А то вроде автор сервиса интерисуется мнением других, но в то же время говорит что сделал это изначально только для себя |
Я действительно для себя делал, потому и без настроек. То есть то, что мне нужно, уже настроено. Но если идея понравилась, мы с glock18 попробуем родить чтото путнее. Правда не так быстро, потому что не так уж это просто.
Спустя 22 минуты, 41 секунда (1.10.2009 - 15:48) Gabriel написал(а):
PHP |
<?php |
все недам уж больно большoе:)
так вот все теги мне прижало к левому краю когда таблицы большие или вагон дивов както их потом не очнь удобно разгребать. можеш сделать так чтобы они оставались на своих местах но ето если не тяжело да и вообшем ето не такая уж и проблема.
Спустя 24 минуты, 11 секунд (1.10.2009 - 16:13) twin написал(а):
Ясно.... Ну чтоб с такой жуткой смесью говнокода с нативе справиться, сильно надо постараться))) я вообще то для PHP оптимизатор писал.
Спустя 6 минут, 37 секунд (1.10.2009 - 16:19) Gabriel написал(а):
twin
нуда:) ето больше каприз:)
нуда:) ето больше каприз:)
Спустя 58 минут, 30 секунд (1.10.2009 - 17:18) sergeiss написал(а):
Цитата (twin @ 1.10.2009 - 15:26) |
А это html у тебя? <?php или <? хотя бы гидэ? |
Э, нет, батенька, подожди!
Там написано "Этот скрипт поможет сделать Ваш PHP код более читабельным и аккуратным."? Написано

Там сказано, что надо обязательно тэгами оформлять? Не сказано

Вывод? Я и не указал изначально. Написано ПХП код - я и ввожу ПХП код.
Хотя да, с этими тэгами лучше стало, только перед echo в моем примере так и остался пробел. Ну ладно, это можно простить, наверное

За хорошую инициативу +10

Спустя 16 минут, 21 секунда (1.10.2009 - 17:34) twin написал(а):
Цитата |
Там сказано, что надо обязательно тэгами оформлять? |
А PHP -интерпретатору ты тоже так говоришь? Мол, ты чё, чувак, это же иф и эхо, какой такой html?

PHP |
<b>Это HTML</b> |
А за пример спасибо, поправил косячек.
Спустя 23 минуты, 41 секунда (1.10.2009 - 17:58) Joker написал(а):
Класс!!!
Из такова:
<?php/**** @package attachment_mod* @version $Id: attach_rules.php,v 1.2 2005/11/05 12:23:33 acydburn Exp $* @copyright © 2002 Meik Sievertsen* @license http://opensource.org/licenses/gpl-license.php GNU Public License**/define('IN_PHPBB', true);define('BB_ROOT', 'http://94.180.60.65/forum/');require(BB_ROOT .'common.php');require(BB_ROOT .'attach_mod/attachment_mod.'. PHP_EXT);if (!$forum_id = @intval($_REQUEST['f']) OR !forum_exists($forum_id)){bb_die('invalid forum_id');}// Start Session Management$user->session_start();// Display the allowed Extension Groups and Upload Size$auth = auth(AUTH_ALL, $forum_id, $userdata);$_max_filesize = $attach_config['max_filesize'];if (!$auth['auth_attachments'] || !$auth['auth_view']){bb_die('You are not allowed to call this file');}$sql = 'SELECT group_id, group_name, max_filesize, forum_permissionsFROM ' . EXTENSION_GROUPS_TABLE . 'WHERE allow_group = 1ORDER BY group_name ASC';if (!($result = $db->sql_query($sql))){message_die(GENERAL_ERROR, 'Could not query Extension Groups.', '', __LINE__, __FILE__, $sql);}$allowed_filesize = array();$rows = $db->sql_fetchrowset($result);$num_rows = $db->sql_numrows($result);$db->sql_freeresult($result);// Ok, only process those Groups allowed within this forum$nothing = true;for ($i = 0; $i < $num_rows; $i++){$auth_cache = trim($rows[$i]['forum_permissions']);$permit = ((is_forum_authed($auth_cache, $forum_id)) || trim($rows[$i]['forum_permissions']) == '');if ($permit){$nothing = false;$group_name = $rows[$i]['group_name'];$f_size = intval(trim($rows[$i]['max_filesize']));$det_filesize = (!$f_size) ? $_max_filesize : $f_size;$size_lang = ($det_filesize >= 1048576) ? $lang['MB'] : (($det_filesize >= 1024) ? $lang['KB'] : $lang['Bytes']);if ($det_filesize >= 1048576){$det_filesize = round($det_filesize / 1048576 * 100) / 100;}else if($det_filesize >= 1024){$det_filesize = round($det_filesize / 1024 * 100) / 100;}$max_filesize = ($det_filesize == 0) ? $lang['Unlimited'] : $det_filesize . ' ' . $size_lang;$template->assign_block_vars('group_row', array('GROUP_RULE_HEADER' => sprintf($lang['Group_rule_header'], $group_name, $max_filesize)));$sql = 'SELECT extensionFROM ' . EXTENSIONS_TABLE . "WHERE group_id = " . (int) $rows[$i]['group_id'] . "ORDER BY extension ASC";if (!($result = $db->sql_query($sql))){message_die(GENERAL_ERROR, 'Could not query Extensions.', '', __LINE__, __FILE__, $sql);}$e_rows = $db->sql_fetchrowset($result);$e_num_rows = $db->sql_numrows($result);$db->sql_freeresult($result);for ($j = 0; $j < $e_num_rows; $j++){$template->assign_block_vars('group_row.extension_row', array('EXTENSION' => $e_rows[$j]['extension']));}}}$template->assign_vars(array('PAGE_TITLE' => $lang['Attach_rules_title'],'L_RULES_TITLE' => $lang['Attach_rules_title'],'L_EMPTY_GROUP_PERMS' => $lang['Note_user_empty_group_permissions']));if ($nothing){$template->assign_block_vars('switch_nothing', array());}print_page('attach_rules.tpl', 'simple');
Сделал такое:
Из такова:
Свернутый текст
<?php/**** @package attachment_mod* @version $Id: attach_rules.php,v 1.2 2005/11/05 12:23:33 acydburn Exp $* @copyright © 2002 Meik Sievertsen* @license http://opensource.org/licenses/gpl-license.php GNU Public License**/define('IN_PHPBB', true);define('BB_ROOT', 'http://94.180.60.65/forum/');require(BB_ROOT .'common.php');require(BB_ROOT .'attach_mod/attachment_mod.'. PHP_EXT);if (!$forum_id = @intval($_REQUEST['f']) OR !forum_exists($forum_id)){bb_die('invalid forum_id');}// Start Session Management$user->session_start();// Display the allowed Extension Groups and Upload Size$auth = auth(AUTH_ALL, $forum_id, $userdata);$_max_filesize = $attach_config['max_filesize'];if (!$auth['auth_attachments'] || !$auth['auth_view']){bb_die('You are not allowed to call this file');}$sql = 'SELECT group_id, group_name, max_filesize, forum_permissionsFROM ' . EXTENSION_GROUPS_TABLE . 'WHERE allow_group = 1ORDER BY group_name ASC';if (!($result = $db->sql_query($sql))){message_die(GENERAL_ERROR, 'Could not query Extension Groups.', '', __LINE__, __FILE__, $sql);}$allowed_filesize = array();$rows = $db->sql_fetchrowset($result);$num_rows = $db->sql_numrows($result);$db->sql_freeresult($result);// Ok, only process those Groups allowed within this forum$nothing = true;for ($i = 0; $i < $num_rows; $i++){$auth_cache = trim($rows[$i]['forum_permissions']);$permit = ((is_forum_authed($auth_cache, $forum_id)) || trim($rows[$i]['forum_permissions']) == '');if ($permit){$nothing = false;$group_name = $rows[$i]['group_name'];$f_size = intval(trim($rows[$i]['max_filesize']));$det_filesize = (!$f_size) ? $_max_filesize : $f_size;$size_lang = ($det_filesize >= 1048576) ? $lang['MB'] : (($det_filesize >= 1024) ? $lang['KB'] : $lang['Bytes']);if ($det_filesize >= 1048576){$det_filesize = round($det_filesize / 1048576 * 100) / 100;}else if($det_filesize >= 1024){$det_filesize = round($det_filesize / 1024 * 100) / 100;}$max_filesize = ($det_filesize == 0) ? $lang['Unlimited'] : $det_filesize . ' ' . $size_lang;$template->assign_block_vars('group_row', array('GROUP_RULE_HEADER' => sprintf($lang['Group_rule_header'], $group_name, $max_filesize)));$sql = 'SELECT extensionFROM ' . EXTENSIONS_TABLE . "WHERE group_id = " . (int) $rows[$i]['group_id'] . "ORDER BY extension ASC";if (!($result = $db->sql_query($sql))){message_die(GENERAL_ERROR, 'Could not query Extensions.', '', __LINE__, __FILE__, $sql);}$e_rows = $db->sql_fetchrowset($result);$e_num_rows = $db->sql_numrows($result);$db->sql_freeresult($result);for ($j = 0; $j < $e_num_rows; $j++){$template->assign_block_vars('group_row.extension_row', array('EXTENSION' => $e_rows[$j]['extension']));}}}$template->assign_vars(array('PAGE_TITLE' => $lang['Attach_rules_title'],'L_RULES_TITLE' => $lang['Attach_rules_title'],'L_EMPTY_GROUP_PERMS' => $lang['Note_user_empty_group_permissions']));if ($nothing){$template->assign_block_vars('switch_nothing', array());}print_page('attach_rules.tpl', 'simple');
Сделал такое:
Скрытый текст | ||
|
Сполер не пашет(
Спустя 44 минуты, 21 секунда (1.10.2009 - 18:42) waldicom написал(а):
Спойлер поправил, пользуйся не SPOILER, а MORE (положенная на бок буква S)
Спустя 15 часов, 39 минут, 23 секунды (2.10.2009 - 10:22) stepan написал(а):
Отличная вещь почему раньше я о таком не додумался, это же значительно облегчает жизнь.
Спустя 2 дня, 11 часов, 18 минут, 51 секунда (4.10.2009 - 21:40) Arrogant.Elf написал(а):
Функция с названием enter_form(); разбилась на две строчки
enter_
form();
Так =)
enter_
form();
Так =)
Спустя 7 минут, 8 секунд (4.10.2009 - 21:48) twin написал(а):
Я там для кого написал это:
Цитата |
Только учтите, скрипт не пишет код, он его форматирует. И ошибок не и исправляет. И не сделает из полного бардака идеальную картинку, все равно потребуется "ручная шлифовка". По этому лучше сразу писать красиво, не надеясь на технические чудеса. |
Но спасибо, за наводку. Хотя пот логике ясно вроде, что это служебные слова... Мы подумаем на досуге)))
Спустя 4 часа, 45 минут, 15 секунд (5.10.2009 - 02:33) kirik написал(а):
twin, glock18
Круто! Я тоже совсем недавно думал что было бы неплохо к форуму форматтер прикрутить, чтобы глаза не ломать) А вы уже сделали! Молодцы!
А код расшарите, мож подмогну чем..? )
Круто! Я тоже совсем недавно думал что было бы неплохо к форуму форматтер прикрутить, чтобы глаза не ломать) А вы уже сделали! Молодцы!
А код расшарите, мож подмогну чем..? )
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.
Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.
Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
