Я заскорузлый непедагогичный тупица или тут прошелся Ктул... министр
образования?
0) Тотальное "nycTou_maccuB = []; noJIHbIu_maccuB = [1,2,2,3]"
http://ru.wikibooks.org/wiki/Ruby
Я не отрицаю многочисленных позитивных вещей в книге, но некоторые
изъяны меня передергивают как от нечистой силы.
А контакты этого товарища есть? Может,
он позволит подобные шедевры
поправить.
Что для читабельности кода страшнее, чем волапюк, разве нет?
--
Alexey Verkhovsky
CruiseControl.rb [http://cruisecontrolrb.thoughtworks.com]
RubyWorks [http://rubyworks.thoughtworks.com]
DRY! There won't be a translation! We live in a ONE world, let's not
to waste our time.
08.12.2007, в 21:41, Yaroslav Markin написал(а):
There are a few guidelines that your code should follow.
1. Parentheses around parameter lists for methods.
2. Two space indent.
3. Documentation is required.
4. Block-types in different situations. Use the {} syntax for single-
line blocks with one action. Use multi-line blocks for all other
situations that use the do/end style block.
5. Be wary of clever code! Cleverness for cleverness sake is not our
friend; if something is only slightly more handy but infinitely more
complex, then please reconsider your implementation.
6. 80 column line width except in exceptional situations.
(http://merb.devjavu.com/)
Source style
* Two spaces, no tabs
* Don't use and and or for boolean tests, instead always use && and ||
* MyClass.my_method(my_arg) -- not my_method( my_arg ) or my_method
my_arg
* Follow the conventions you see used in the source already.
(http://dev.rubyonrails.org/)
Тратить лекцию на стиль не пришлось бы, если бы выполнялся последний
пункт из рекомендаций Rails trac. Надо сразу писать правильно, а не
говорить потом, что "на самом деле, то была хитрожопая уловка, теперь
забудьте и переучивайтесь!"
> Применение англоязычных переменных на начальном этапе невозможно! В
> последствии -- запросто!
А не стоит ли перевести на русский и это (для начального этапа)? Где,
кстати, проходит граница между начальным этапом и всеми остальными?
Kernel
Object
Class
Module
Array
Hash
String
inspect
attribute_accessor
public
protected
private
self
do
begin
end
if
else
case
when
require
load
LOAD_PATH
raise
rescue
exception
error
open
close
push
pop
shift
unshift
eval
...
и стандартно-повсеместное из Рельсы:
model
controller
helper
fixture
migration
001_CreateUsersTable
params
before_filter
session
cookie
find
create
save
delete
destroy
render
redirect
establish_connection
cache
respond_to
partial
layout
map
connect
resource
...
Хе-хе.. Помню нас тоже разбивали на пары.
Обычно решалось все так: у нас в студенческой компании были более
слабые (в данной конкрентной теме) и более сильные. Пара всегда
состояла из слабого + сильного. Я обычно был в паре с подругой -
безусловно умной девочкой, но программировать ей было не особо нужно.
Поэтому все программирование (и проектирование) делал я. А так как я
был очень занятой и ленивый и на лекции мог (и/или хотел) приходить
только по большим (или важным) праздникам, то мне надо было знать,
каково положение с данной курсовой, какие новые указания поступили,
кто уже сдал (чтобы придти и заценить работу одногруппника). Вот этим
обычно занималась моя напарница =).
Как правило, на нашем потоке курсовую делали 2-3 человека (2-3 разных
версии), остальные просто копировали, стараясь изменить ее до
неузнаваемости (передвинуть кнопки, поменять цвета и т.п.).
Как правило, я сдавал в числе последних, но зато
1) у меня чаще всего был более правильный подход выбран к решению задачи.
2) у моей работы не было клонов (т.к. все уже клонировали чужую
работу, а не мою). еще помогал тот факт, что я чаще всего писал на
экзотических для данного окружения языках (в то время, когда люди
рассчетные задачи сдавали на Delphi, я писал их на Python'е, причем в
общем виде) и люди просто не могли разобраться в работе, чтобы
продемонстрировать ее понимание преподавателю.
Резюме: если разюивать на пары/тройки и т.п. то работу как правило все
равно делать будут примерно одни и те же люди.
> Здесь проблема только в том, что ВУЗ может зарабатывать на разработках
> своих студентов, а всякие MIT/GPL автоматом блокируют подобную
> возможность.
По моему представлению MIT лицензия отличается от GPL, именно тем, что
она разрешает "зарабатывать" на продуктах распространяемых под этой
лицензией, и не "публиковать" код.
Не уверен, но GPL также не запрещает коммерчески использовать продукт -
она просто говорит, что исходники должны быть доступными - свободными.
С уважением,
Илья
Скажите, неужели вы ведете курс в ВУЗе,
где не читают английского языка?
От псевдорусских имен переменных и
методов нужно отучивать сразу же, это
ужасно. Тем более в самом человечном
языке программирования.
По моему представлению MIT лицензия отличается от GPL, именно тем, что
она разрешает "зарабатывать" на продуктах распространяемых под этой
лицензией, и не "публиковать" код.
Не уверен, но GPL также не запрещает коммерчески использовать продукт -
она просто говорит, что исходники должны быть доступными - свободными.
Также спешу поделиться тем, что мне известо об обучении в неплохом
техническом вузе. Я учусь на первом курсе СПб-шного Политеха,
физико-механический фак., кафедра биофизики (и пишу в рор2ру, ага...)
Так вот.
Во-первых, из двух наших кафедральный групп (по 10 человек в группе)
математику знают четверо. Физику -- двое. При этом все писали при
поступлении математику (те, кто писал физику не знают ничего. И не
понимают.) Человек пять знали, куда идут учиться (один знает что такое
биофизика).
Во-вторых, преподаватели делятся на тех, кому "пофиг", и тех, кто ничего
не делает. То есть не учат тех, кто не понимает предмета, и дают скучать
остальным. Сложнее всего получить зачет по английскому языку и
информатике -- предметам, которым даже не пытаются учить: преподают
одновременно пофигисты и идиоты. Пофигисты в данной классификации --
люди, дающие задания и отвечающие на вопросы. С лекторами гораздо лучше
дело: читают честно и неплохо, в общем-то.
Что с этим делать, не понятно. И катится система образования не в лучшую
сторону, по моим наблюдениям. Несмотря на националистические проекты ;)