Apr. 17th, 2012

henry_flower: A melancholy wolf (Default)
Если глаз начинает цепляется за особенности чужого руби кода, то можно пытаться делать грубую оценку "как долго 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:
  1. Dmitriy Kravchenko

Permalink: https://plus.google.com/115290581164606462017/posts/8Mqrzy3zVev

henry_flower: A melancholy wolf (Default)
Ruby, Selenium wedriver и Firefox--шо ж вы, если все вместе втроем, то такие тормозные, а?

Эх.

Permalink: https://plus.google.com/115290581164606462017/posts/Es8DqzJc9uQ

henry_flower: A melancholy wolf (Default)
Как Балмел когда-то давно кричал 'developers', так мне хочется говорить 37.times { p 'refactoring' } с такой же эмпатией.

(Это я переписываю одно свое поделие годичной давности. А переписывать приходится, потому что мозга нет.)

Permalink: https://plus.google.com/115290581164606462017/posts/CmS8rYPD4Hm