Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
> 1.class
=> Fixnum
> true.class
=> TrueClass
> 1.methods
=> ["%", "odd?", "inspect", "prec_i", "<<", "tap", "div", "&", "clone", ">>", "public_methods", "object_id", "__send__", "instance_variable_defined?", "equal?", "freeze", "to_sym", "*", "ord", "+", "extend", "next", "send", "round", "methods", "prec_f", "-", "even?", "singleton_method_added", "divmod", "hash", "/", "integer?", "downto", "dup", "to_enum", "instance_variables", "|", "eql?", "size", "instance_eval", "truncate", "~", "id", "to_i", "singleton_methods", "modulo", "taint", "zero?", "times", "instance_variable_get", "frozen?", "enum_for", "display", "instance_of?", "^", "method", "to_a", "+@", "-@", "quo", "instance_exec", "type", "**", "upto", "to_f", "<", "step", "protected_methods", "<=>", "between?", "==", "remainder", ">", "===", "to_int", "nonzero?", "pred", "instance_variable_set", "coerce", "respond_to?", "kind_of?", "floor", "succ", ">=", "prec", "to_s", "<=", "fdiv", "class", "private_methods", "=~", "tainted?", "__id__", "abs", "untaint", "nil?", "chr", "id2name", "is_a?", "ceil", "[]"]

Это я конечно не учел, что упоминать Ruby там где в тексте over 9000 включений PHP, чревато ;)In [1]: type(True)
Out[1]: bool
In [2]: type(42)
Out[2]: int
In [3]: ', '.join(dir(42))
Out[3]: '__abs__, __add__, __and__, __class__, __cmp__, __coerce__, __delattr__, __div__, __divmod__, __doc__, __float__, __floordiv__, __format__, __getattribute__, __getnewargs__, __hash__, __hex__, __index__, __init__, __int__, __invert__, __long__, __lshift__, __mod__, __mul__, __neg__, __new__, __nonzero__, __oct__, __or__, __pos__, __pow__, __radd__, __rand__, __rdiv__, __rdivmod__, __reduce__, __reduce_ex__, __repr__, __rfloordiv__, __rlshift__, __rmod__, __rmul__, __ror__, __rpow__, __rrshift__, __rshift__, __rsub__, __rtruediv__, __rxor__, __setattr__, __sizeof__, __str__, __sub__, __subclasshook__, __truediv__, __trunc__, __xor__, bit_length, conjugate, denominator, imag, numerator, real'len(myList)
myList.len
Отступы
Всегда используйте для отступа два пробела.
Не используйте табуляцию и не смешивайте табуляцию с пробелами. Комментарии
По возможности поясняйте свой код, где это необходимо. EntityAbstractStorage > UserAbstractStorage > UserDatabaseStorage > UserSQLStorage > UserMySQLStorage > UserMySQL5Storage с глубоким использованием отражений и прочих интроспекций доставляло только чувство извращенного удовлетворения и страх запускать профайлер. :) И угадайте в каком случае коллеги жаловались на сложность поддержки, когда в классе User (и остальных классах моделей) был метод save(), вызывающий SQL запрос напрямую (и легко меняющийся на любой SQL движок, или, скажем, RPC-запрос), или когда нужно было иметь дело с такой абстракцией?могу отсортировать массив десятком методов… В общем, программированием владею как заурядный, но прилежный студент средненького технического вуза.
Стоит ли смотреть в сторону PHP тому, кто решился только со второй попытки научиться прилично программировать?