Если глаз начинает цепляется за особенности чужого руби кода, то можно пытаться делать грубую оценку "как долго X пользуется руби" или "чем пользовался X раньше".
* Методы fooBar() означают "2-3 месяца" после язычка с C-derived syntax. Если всюду, где блоки, вместо do/end стоит {}, то X никогда не пользовался языками с не C-derived syntax.
* Передает объекты Proc из метода в метод, вместо использования блоков. Предыдущий язык--C++.
* Возвращает -1, 1, nil, 0 вместо выброса своего Exception. 3 и больше параметров в методах, в классах много констант. Предыдущий язык--С.
* В коде нет ни малейшей попытки сделать свой DSL, отсутствует instance_eval. Часто возвращает 2-3 объекта, завернутые в Array. Предыдущий язык--пайфон.
* Модули используются только как namespaces, полно классов и inheritance, длинные имена методов. Предыдущий язык--Java.
* Мало тестов, всегда короткие имена переменных в длинных блоках как
some_enumerable.map {|i|
# 8 lines or more using i
}
Однострочные выражения типа
fail 'ouch' if (!foo(0) && bar(1,2,3) || !baz("no"))
Предыдущий язык--Perl.
* Комментарии на русском, методы длинной в 2 экрана, постоянно for и loop, отсутствие тестов, модулей, классы на самом рудиментарном уровне с наличием class variables. Нет тредов. В комплекте с исходником нет Rakefile'а. Предыдущий язык--PHP.
*
Посмотрел в свои поделия годичной давности: мееедленные тесты, методы только со скобочками в вызовах, нет metaprogramming, модули только как namespaces, плохая структурированность. Короче, какой-то позор.
+1'd by:
* Методы fooBar() означают "2-3 месяца" после язычка с C-derived syntax. Если всюду, где блоки, вместо do/end стоит {}, то X никогда не пользовался языками с не C-derived syntax.
* Передает объекты Proc из метода в метод, вместо использования блоков. Предыдущий язык--C++.
* Возвращает -1, 1, nil, 0 вместо выброса своего Exception. 3 и больше параметров в методах, в классах много констант. Предыдущий язык--С.
* В коде нет ни малейшей попытки сделать свой DSL, отсутствует instance_eval. Часто возвращает 2-3 объекта, завернутые в Array. Предыдущий язык--пайфон.
* Модули используются только как namespaces, полно классов и inheritance, длинные имена методов. Предыдущий язык--Java.
* Мало тестов, всегда короткие имена переменных в длинных блоках как
some_enumerable.map {|i|
# 8 lines or more using i
}
Однострочные выражения типа
fail 'ouch' if (!foo(0) && bar(1,2,3) || !baz("no"))
Предыдущий язык--Perl.
* Комментарии на русском, методы длинной в 2 экрана, постоянно for и loop, отсутствие тестов, модулей, классы на самом рудиментарном уровне с наличием class variables. Нет тредов. В комплекте с исходником нет Rakefile'а. Предыдущий язык--PHP.
*
Посмотрел в свои поделия годичной давности: мееедленные тесты, методы только со скобочками в вызовах, нет metaprogramming, модули только как namespaces, плохая структурированность. Короче, какой-то позор.
+1'd by:
Permalink: https://plus.google.com/115290581164606462017/posts/8Mqrzy3zVev