В честь сегодняшнего светлого дня публикую эту статью. Ведь вам тоже иногда кажется, что код состоит из смайликов?
Ruby
Определение значения по умолчанию или мимика губами:
foo ||= []
foo ||= {}
foo ||= ''
foo ||= 0
Прыжки жабы из гема Wash Out:
def_delegators :@config, :[], :[]=, :sort
Оттуда же, генерация кода, циклоп ест переменную:
@#{sym}
Обращение классу как к хэшу или массиву, снова жаба:
alias_method :regular_writer, :[]= unless method_defined?(:regular_writer)
govnokod.ru/2749
map(&:-@)
Похоже?
Жаба в чалме в тернарном операторе.
var.is_a Array ? {} : []
Еще один монстр от Ruby, применение оператора 'или' и 'и' ко всем элементам flags при помощи покер-фейса и закатывания губ.
flags.reduce(&:|)
flags.reduce(&:&)
Нужно сделать страшную рожу, если мы не уверены, что в хэше есть вложенный хэш:
session[:comments].try(:[], @comment.id)
bash
Параметры командной строки тоже вполне сходят за смайлики:
Каждый раз мне кажется, что это такая широкая извиняющаяся улыбка, говорящая «я забыл какие есть таски, выведи, пожалуйста, список»:
rake -D
CoffeeScript
Полнейшая паника при смешении Coffee и jQuery
$(@)
В CoffeeScript смайлики получаются легко
foo =
bar
getBar:-> @bar # улыбаемся однострочникам в Coffee
not:(o)-> !o
Slim
=< "Hello!"
=> "Hello!"
=<> "Hello!"
PHP
Грустно, когда кончается массив:
$var = array(
1 => 'one'
);
А еще грустнее, когда кончается вместе с передачей атрибутов:
$var = some_function(array(
'named_attr' => 'one'
));
Везде и повсеместно
Много где можно передать в функцию пустую строку:
('')
("")
['']
[""]
С этим можно пофантазировать, но когда попалось вот это, оно было быстро распознано как попа папуаски (потому что с туземским поясом на талии):
('.')
А вот — спящая сова:
[","]
Скайп, кстати, тоже иногда видит смайлики. Пересылка логов:
P.S.
Присылайте свои куски кода в комментарии, надеюсь, за сегодня соберем неплохую коллекцию.
upd:
Видимо, в этот праздник мысли сходятся:
Факториал на числах Чёрча — теперь и в смайликах