Типографика в программировании
Jul. 24th, 2009 03:53 pmКазалось бы, программисты должны довольно трепетно относиться к типографике, потому что плохо отформатированную программу с кривыми отступами и заглавно-прописными буквами вразнобой совершенно невозможно читать. А вот не тут-то было.
Периодически встречаются такие вот пёрлы:
select distinct first_value(p1.calendar_period_close_date) over (order by akh1.last_update_date)
from fa_asset_keywords ak1
, xx_cfa010_asset_key_history akh1
, fa_deprn_periods p1
WHERE 1=1
and akh1.asset_id = akh.asset_id
and p1.book_type_code = p_book_type_code
and akh1.last_update_date>akh.last_update_date
AND akh1.asset_key_ccid = ak1.code_combination_id
and akh1.last_update_date between p1.calendar_period_open_date and p1.calendar_period_close_date
and akh1.last_update_date <= d_end
and ak1.segment3 = 15
Первое, что я делаю — привожу всё в пристойный вид, причём ручками, без всяких форматтеров:
select distinct first_value(p1.calendar_period_close_date) over (order by akh1.last_update_date)
from fa_asset_keywords ak1
, xx_cfa010_asset_key_history akh1
, fa_deprn_periods p1
where 1 = 1
and akh1.asset_id = akh.asset_id
and p1.book_type_code = p_book_type_code
and akh1.last_update_date > akh.last_update_date
and akh1.asset_key_ccid = ak1.code_combination_id
and akh1.last_update_date between p1.calendar_period_open_date and p1.calendar_period_close_date
and akh1.last_update_date <= d_end
and ak1.segment3 = 15
И только потом! Только потом переписываю всё заново.
no subject
Date: 2009-07-24 02:55 pm (UTC)Нисколько не преуменьшая важность гармоничного отступа, кернинга и интерлиньяжа, я считаю все же предосудительным начинать строку с пунктуационного символа и несколько неудобным - отстутствие выдыления ключевых слов средствами редактора или типографики (напр. заглавыными буквами), особенно есди язык их допускает.
no subject
Date: 2009-07-25 06:43 am (UTC)no subject
Date: 2009-07-26 07:37 pm (UTC)больше всего я бешусь, когда приходят дизайнерские темплейты. взлянуть в код - волосы дыбом! вместо отступов стопицот пробелов, куча непонятно зачем сделанного пустого места и вообще...
no subject
Date: 2009-07-27 10:05 am (UTC)С выделением ключевых слов справляется и хайлайтинг, а запятая слева мне кажется немного более удобной, чем справа, но все это уже из области личных предпочтений. Я охотно принял бы иной стиль — если бы он тут был.
no subject
Date: 2009-07-27 10:07 am (UTC)Имхо для читаемости здесь надо изменить порядок условий, но это все-таки уже не типографика.
P.S. Кстати, с праздничком™ тебя!
no subject
Date: 2009-07-27 10:17 am (UTC)А с пустым местом тоже все не так однозначно... Скажем, этот кусочек кода — часть запроса длиной в 200 строк с подзапросами внутри подзапросов, и как в таком случае обойтись без больших отступов?
no subject
Date: 2009-07-27 04:25 pm (UTC)Как-то вот такъ примерно :)
P.S. Спасибо :)
no subject
Date: 2009-07-27 06:30 pm (UTC)Ну да, можно еще полчасика поспорить, как лучше, так:
или так:
and akh1.last_update_date between p1.calendar_period_open_date and p1.calendar_period_close_dateно факт остается фактом: наличие последовательно проводимой в жизнь типографической системы упрощает восприятие :-Ъ
no subject
Date: 2009-09-09 09:32 am (UTC)Костя
no subject
Date: 2009-09-14 02:00 pm (UTC)no subject
Date: 2009-12-24 10:16 pm (UTC)no subject
Date: 2009-12-25 11:03 am (UTC)