Автор Тема: [Oberon-07] Руководство по стилю кодирования  (Прочитано 37410 раз)

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re: [Oberon-07] Руководство по стилю кодирования
« Ответ #30 : Сентябрь 03, 2013, 07:40:46 am »
чёрт, из-за лагов два раза отправил предыдущее сообщение ))
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: [Oberon-07] Руководство по стилю кодирования
« Ответ #31 : Сентябрь 03, 2013, 07:44:02 am »
VAR-параметры это да, проблема... Причем по хорошему, эта проблема должна бы решаться на уровне языка.

В этом плане мне даже больше нравится Си чем С++ - в Си нет ссылок, поэтому изменение будет явным образом, через указатель. Следовательно такие параметры банально видны:
foo(a,b,&c,d,&e);

Подход Си отстоен -- там слишком легко вместа адреса переменной "&c" передать её значение "c". В этом плане куда лучше ref- и out-параметры сишарпа:
foo(a, b, ref c, d, out e);
Сложно. Нормальный компилятор (а в случае С++ - любой компилятор) долбанет по башке варнингом, а то и еррором.
Y = λf.(λx.f (x x)) (λx.f (x x))

Илья Ермаков

  • Sr. Member
  • ****
  • Сообщений: 493
    • Просмотр профиля
Re: [Oberon-07] Руководство по стилю кодирования
« Ответ #32 : Сентябрь 03, 2013, 08:33:57 am »
Язык Haskell для детей

Профанация.
Я могу написать "С++ для детей". И такое даже есть...
Меня брат в 8 классе "подсаживал" на С++, после QBasic. Представляю, что это значит: тупо какой-то копипаст из книжек, с видимостью полезного эффекта и всякими развлекательными рассказами про то, что "класс - это холодильник, в нём лежат продукты" и т.п.

Эталон учебного курса - Кушниренко. Если интересуетесь образованием, почитайте его "12 лекций о том, для чего нужен школьный курс информатики и как его преподавать" (всё его есть здесь: http://www.niisi.ru/kumir/books.htm)
К этому ни добавить, не убавить (и устареть это тоже не может).
Т.е. любой курс полезно сравнивать с Кушниренко по прозрачности/понятности/фундаментальности/формированию мышления.

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: [Oberon-07] Руководство по стилю кодирования
« Ответ #33 : Сентябрь 03, 2013, 08:56:42 am »
Меня брат в 8 классе "подсаживал" на С++, после QBasic. Представляю, что это значит: тупо какой-то копипаст из книжек, с видимостью полезного эффекта и всякими развлекательными рассказами про то, что "класс - это холодильник, в нём лежат продукты" и т.п.
А чем, по такому описанию, класс хуже структуры или record'a? :-) Названием?
Y = λf.(λx.f (x x)) (λx.f (x x))

DddIzer

  • Гость
Re: [Oberon-07] Руководство по стилю кодирования
« Ответ #34 : Сентябрь 03, 2013, 09:08:07 am »
Меня брат в 8 классе "подсаживал" на С++, после QBasic. Представляю, что это значит: тупо какой-то копипаст из книжек, с видимостью полезного эффекта и всякими развлекательными рассказами про то, что "класс - это холодильник, в нём лежат продукты" и т.п.
А чем, по такому описанию, класс хуже структуры или record'a? :-) Названием?
  :D :D :D :D Алексей , проблема в том, что программирование ( а также обучение ему ) не  сводится к "холодильникам" - рассматривать нужно некоторый определенный комплекс(обьектно- понятийный, аудиторию, окружение и взаимодействие между этими компонентами).

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: [Oberon-07] Руководство по стилю кодирования
« Ответ #35 : Сентябрь 03, 2013, 09:34:44 am »
Меня брат в 8 классе "подсаживал" на С++, после QBasic. Представляю, что это значит: тупо какой-то копипаст из книжек, с видимостью полезного эффекта и всякими развлекательными рассказами про то, что "класс - это холодильник, в нём лежат продукты" и т.п.
А чем, по такому описанию, класс хуже структуры или record'a? :-) Названием?
  :D :D :D :D Алексей , проблема в том, что программирование ( а также обучение ему ) не  сводится к "холодильникам" - рассматривать нужно некоторый определенный комплекс(обьектно- понятийный, аудиторию, окружение и взаимодействие между этими компонентами).
Нужно в первую очередь наглядно показывать нафига вообще все эти структуры нужны. Помню когда в школе (самостоятельно) изучал Си (не С++!), долго не мог понять нафига эти структуры нужны вообще - ведь они ничего нового по сравнению с массивом и отдельными переменными не привносят. Ну запись доступа чутка другая, и все. Явно же лишняя сущность и усложнение! Ведь и без них все отличненько работает.

Кстати, разбиение на отдельные функции - из той же оперы. Отличненько все работает и в едином неделимом main'e! Особенно если редактор поддерживает фолдинг. Особенно если это именованный фолдинг.
Y = λf.(λx.f (x x)) (λx.f (x x))

DddIzer

  • Гость
Re: [Oberon-07] Руководство по стилю кодирования
« Ответ #36 : Сентябрь 03, 2013, 09:42:24 am »

Нужно в первую очередь наглядно показывать нафига вообще все эти структуры нужны....
  ;D ;D ;D ;D  это всего лишь элемент.. причем, в зависимости от целей обучения необязательный, а в контексте некоторых типов аудиторий качественно не реализуемый.

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re: [Oberon-07] Руководство по стилю кодирования
« Ответ #37 : Сентябрь 03, 2013, 10:18:05 am »
Эталон учебного курса - Кушниренко. Если интересуетесь образованием, почитайте его "12 лекций о том, для чего нужен школьный курс информатики и как его преподавать" (всё его есть здесь: http://www.niisi.ru/kumir/books.htm)
К этому ни добавить, не убавить (и устареть это тоже не может).
Т.е. любой курс полезно сравнивать с Кушниренко по прозрачности/понятности/фундаментальности/формированию мышления.
Я по учебнику Кушниренко "ОИВТ" (ещё советскому) в школе информатику изучал ))) До сих пор ещё у меня есть эти учебники...
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

Илья Ермаков

  • Sr. Member
  • ****
  • Сообщений: 493
    • Просмотр профиля
Re: [Oberon-07] Руководство по стилю кодирования
« Ответ #38 : Сентябрь 04, 2013, 06:08:34 am »
Учебник у них очень "сухой" (ограничение объёма при издании), стоит почитать их "12 лекций...", тогда становится понятно, для чего и почему в учебнике каждое решение, как по нему учителю работать - и вообще, насколько продуманный курс.

(Я, кстати, то ли в 2007-м, то ли в 2006-м привозил Info21 этот учебник - но он его не впечатлил... А потом Info21 раскопал эти "12 лекций" - и впечатлился :) ).

Jordan

  • Sr. Member
  • ****
  • Сообщений: 282
    • Просмотр профиля
Re: [Oberon-07] Руководство по стилю кодирования
« Ответ #39 : Сентябрь 20, 2013, 01:14:50 pm »
Как дела, работа идёт? Находил в интернете стандарты кодирования микроконтроллёров на си. Стандарт МИСРА. Там довольно кратко и содержательно, описано как кодировать. Возможно это поможет.

Языци заморския
http://automotive.roger.free.fr/articles/miscprev.pdf

Великий русский язык.
http://andromega.narod.ru/doc/micrium_an_2000_rus.pdf

Можно просматривать в онлайне.

Jordan

  • Sr. Member
  • ****
  • Сообщений: 282
    • Просмотр профиля
Re: [Oberon-07] Руководство по стилю кодирования
« Ответ #40 : Сентябрь 20, 2013, 01:16:41 pm »

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re: [Oberon-07] Руководство по стилю кодирования
« Ответ #41 : Сентябрь 20, 2013, 05:11:14 pm »
Как дела, работа идёт?

Работа стоит )) Надо бы продолжить на выходных...
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: [Oberon-07] Руководство по стилю кодирования
« Ответ #42 : Сентябрь 20, 2013, 06:02:27 pm »
Народ, гляньте мой Оберонистый код, и напишите список замечаний по стилю плиз.

Одно примечание - когда в одной портянке текста (одном файле, или там в одном текстовом редакторе) находится несколько модулей, то удобней потроха модуля (процедуры, переменные и так далее) писать одним отступом, когда же в одном файле один модуль, но этот отступ не нужен. Это мое IMHO.
Y = λf.(λx.f (x x)) (λx.f (x x))

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re: [Oberon-07] Руководство по стилю кодирования
« Ответ #43 : Сентябрь 21, 2013, 10:40:40 am »
Народ, гляньте мой Оберонистый код, и напишите список замечаний по стилю плиз.

Ещё раз, какой именно код? ))

Одно примечание - когда в одной портянке текста (одном файле, или там в одном текстовом редакторе) находится несколько модулей, то удобней потроха модуля (процедуры, переменные и так далее) писать одним отступом, когда же в одном файле один модуль, но этот отступ не нужен. Это мое IMHO.

Обычно, всё же, один модуль -- один файл...
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Y = λf.(λx.f (x x)) (λx.f (x x))