Модераторы: Се ля ви

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выразительные названия методов 
:(
    Опции темы
MystDeim
Дата 12.3.2010, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 22.10.2007
Где: Россия->Юбилей ный

Репутация: нет
Всего: нет



Проблема такая: при большом количестве классов, становится трудно выразительно обзывать методы.

Видел руководство на подобную тему год или чуть больше назад, тогда несильно заинтересовался, а сейчас прижало... кажется это было на хабре.
Может кто-нибудь видел подобные статьи или руководства?
--------------------
Учебные материалы для студентов http://studlab.org
PM MAIL WWW   Вверх
DarkProg
Дата 16.4.2010, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Законченный романтик
***


Профиль
Группа: Завсегдатай
Сообщений: 1784
Регистрация: 11.3.2009
Где: Земля

Репутация: нет
Всего: 19



НУ приведу из своей жизни как я обзываю классы, надеюсь ещё нужно smile

Вот скажем есть у нас Школа в школе есть предметы и преподы которые преподают этот предмет
создадим Запись

Код

type PredmetsAndPrepodauzhiePrepods=record
 PredmetName:string;
 PrepodsFIO:array of strings;
end;


Вот как-то в таком духе, чтобы было отражение того чего хочешь, мне помогает и сильно, даже в момент когда месяц проект в глаза не видел потом возвращаюсь и вспоминаю что было же как-то вроде так и точно нахожу.




--------------------
"И твоя голова всегда в ответе за то куда сядет твой зад..."

"Я студент - скажите с какого я ВУЗа..."

 smile  smile  smile 
PM MAIL   Вверх
kemiisto
Дата 16.4.2010, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 1
Всего: 160



Цитата(MystDeim @  12.3.2010,  11:31 Найти цитируемый пост)
Может кто-нибудь видел подобные статьи или руководства?

Сильно зависит от языка. Гуглить "<название_языка> style guide".


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Sartorius
Дата 16.4.2010, 11:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1568
Регистрация: 18.7.2006
Где: Ivory tower

Репутация: нет
Всего: 37



У Макконела в "Совершенном коде" эта проблема, кажется, обсуждалась. В любом случае must read
PM MAIL ICQ   Вверх
kemiisto
Дата 16.4.2010, 11:39 (ссылка)  | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 1
Всего: 160



Цитата(Sartorius @  16.4.2010,  12:34 Найти цитируемый пост)
В любом случае must read

Вот уж на ***, простите, такой read. Аффтара - на кол, книгу - сжечь.


--------------------
PM MAIL WWW GTalk Jabber   Вверх
RockClimber
Дата 16.4.2010, 12:17 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 848
Регистрация: 5.5.2006
Где: планета 013 в тен туре

Репутация: нет
Всего: 15



М. б. венгерская нотация (не системная, а обычная) спасет отца русской демократии?


--------------------
Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит.
PM MAIL GTalk   Вверх
kemiisto
Дата 16.4.2010, 12:30 (ссылка) |   (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 1
Всего: 160



Цитата(RockClimber @  16.4.2010,  13:17 Найти цитируемый пост)
М. б. венгерская нотация (не системная, а обычная) спасет отца русской демократии?

О нет! Всё что угодно, только не венгерская нотация. smile 


--------------------
PM MAIL WWW GTalk Jabber   Вверх
bars80080
Дата 16.4.2010, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 2
Всего: 315



а что, фантазии не хватает?

отослать должнику извещение о об отказе в кредите:

ourCow.fuckyouSpilberg();
PM MAIL WWW   Вверх
Oxy
Дата 18.4.2010, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 70
Регистрация: 20.9.2009

Репутация: нет
Всего: 1



Цитата(kemiisto @  16.4.2010,  11:39 Найти цитируемый пост)
Аффтара - на кол, книгу - сжечь.

аргументы  smile   smile 
PM MAIL WWW   Вверх
kemiisto
Дата 18.4.2010, 15:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 1
Всего: 160



Цитата(Oxy @  18.4.2010,  15:55 Найти цитируемый пост)
аргументы

Начнём с того, что ты задашь этот вопрос Sartorius, чтобы не отклоняться от хронологии событий.

Цитата(Sartorius @  16.4.2010,  12:34 Найти цитируемый пост)
В любом случае must read

Эту фразу ты почему то пропустил. А к моему мнению аппелируешь.

Теперь собвственно аргументы:
  • Большая часть советов - выжимка практического опыта конкретного программиста. Это означает, что теоретической базы за советами никакой нет. Часть советов - полезна, часть - бесполезна, а часть - вредна и губительна. Как и у многих практикующих программистов - огромныей пробел в плане структурного программирования. Непонимание важности жёсткой дисциплины кодирования. 
  • Большая часть советов относится к языкам из первой ###пятёрки на tiobe.com. Мейнстрим, так сказать. А сколько волка не корми... Эти языки не поощраяют нормальное проектирование и уж тем более кодирование. Вместо того, чтобы пытаться устранить ляпы создателей языков практическими советами какого-то словоблуда... Ну, вы поняли. smile

Для тех, кто в БМП - фразы типа must read - типичный троллинг. Ответная реакция, естественно, была в том же ключе. На кол никога сажать не надо, книги сжигать тоже. smile Читайте хоть "Mein Kampf". Но вот must read'ы - держите при себе. Ей богу, у нас возраст не тот, что must read'ами "кидаться". smile 

MystDeim, ты куда пропал? Поговори с нами! smile 


--------------------
PM MAIL WWW GTalk Jabber   Вверх
qweqwe
Дата 18.4.2010, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 31.1.2007

Репутация: нет
Всего: 0



Цитата(kemiisto @  16.4.2010,  11:39 Найти цитируемый пост)
Вот уж на ***, простите, такой read. Аффтара - на кол, книгу - сжечь. 

солидарен

Цитата(kemiisto @  18.4.2010,  15:28 Найти цитируемый пост)
Теперь собвственно аргументы:
Большая часть советов - выжимка практического опыта конкретного программиста. Это означает, что теоретической базы за советами никакой нет. Часть советов - полезна, часть - бесполезна, а часть - вредна и губительна. Как и у многих практикующих программистов - огромныей пробел в плане структурного программирования. Непонимание важности жёсткой дисциплины кодирования. 
Большая часть советов относится к языкам из первой ###пятёрки на tiobe.com. Мейнстрим, так сказать. А сколько волка не корми... Эти языки не поощраяют нормальное проектирование и уж тем более кодирование. Вместо того, чтобы пытаться устранить ляпы создателей языков практическими советами какого-то словоблуда... Ну, вы поняли.

добавлю свои пять копеек - многие советы Макконела, подходят для больших корпоративных проектов(БКП). БКП, это когда вы пишете код в течении (полу)года, потом вы его тестируете, итд. Соответственно, если вы работаете не так(если у вас множество коротких итераций), его советы будут не актуальны и даже вредны. 
PM MAIL   Вверх
GoldFinch
Дата 18.4.2010, 23:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: нет
Всего: 26



Покажите хоть один вредный совет у Макконнелла.
PM MAIL ICQ   Вверх
kemiisto
Дата 19.4.2010, 10:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 1
Всего: 160



Цитата(GoldFinch @  19.4.2010,  00:16 Найти цитируемый пост)
Покажите хоть один вредный совет у Макконнелла.

Скажем, вот такой пример. В главе 19 идёт достаточно обширное и неплохое изложение струкутурного программирования. Конкретно на стр. 450 написано чёрным по белому:
Цитата
Я считаю, что использование любых управляющих структур, отличных от этих трех стандартных конструкций, т. е. break, continue, return, throw-catch и т. д., должны рассматриваться под критическим углом зрения.

Да, всё верно. НО! Чуть выше, стр. 440 дан совет:
Цитата
Упростите вложенные if с помощью блока с выходом Альтернативой к только что описанному подходу будет создание фрагмента кода, который будет выполняться как блок. Если одно из условий в середине блока не выполнится, остаток блока будет пропущен.

Код:
Код

do {
  // Начало блока с выходом.
  if ( inputStatus != InputStatus_Success ) {
    break; // Выходим из блока.
  }

  // Много кода.
  if ( printerRoutine == NULL ) {
    break; // Выходим из блока.

  // Много кода.
  if ( !SetupPage() ) {
    break; // Выходим из блока.

  // Много кода.
  if ( !AllocMem( &printData ) )
    break; // Выходим из блока.

  // Много кода.
} while (FALSE); // Конец блока с выходом


Во-первых, сам же пишет, что надо относиться критически. А этот код никакой критики не выдержит.
Во-вторых, если мне нужно проверить сложное условие, я проверяю сложное условие. А глубоко вложенные if можно переписать через if-elese if. И чуть ниже в следующем совете так и сделано. А когда я вижу цикл, я начинаю думать, "что тут у нас в цикле?" А там... smile 


--------------------
PM MAIL WWW GTalk Jabber   Вверх
GoldFinch
Дата 19.4.2010, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: нет
Всего: 26



kemiisto
"должны рассматриваться под критическим углом зрения" не означает "не должны  использоваться"
в приведенном куске кода SEME вполне оправдано, и использование break оправдано, хотя возможно тело цикла следовало бы вынести в отдельную функцию и использовать return.
единственное что там плохо - это "много кода", это "много кода" должно быть вынесено в отдельные функции.

Добавлено через 4 минуты и 20 секунд
Цитата(kemiisto @  19.4.2010,  10:22 Найти цитируемый пост)
если мне нужно проверить сложное условие, я проверяю сложное условие. А глубоко вложенные if можно переписать через if-elese if

там нет сложного условия и возможностей использования if-elese if
я так понимаю там
Код

make_step_1(global_state);
if(!step_1_success(global_state))
    return;
make_step_2(global_state);
if(!step_2_success(global_state))
    return;
..........
make_step_N(global_state);
if(!step_N_success(global_state))
    return;




Это сообщение отредактировал(а) GoldFinch - 19.4.2010, 11:09
PM MAIL ICQ   Вверх
kemiisto
Дата 19.4.2010, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 1
Всего: 160



GoldFinch, вот видишь. Ну не понимаешь ты. Дейкстру не читал, пишешь на одних ###языках. Ты как Макконнелл. А рыбак рыбака. Дальнейший смысл в обсуждении отсутствует. Всем чмоки в этом чате!


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила раздела "Философия программирования":
Се ля ви

Форум "Философия программирования" предназначен для обсуждения вопросов, так или иначе связанных с философскими аспектами разработки ПО:

• вопросы перспективного развития методов написания ПО;

• изменяющиеся языки и методологии программирования;


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Се ля ви.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Философия программирования | Следующая тема »


 




[ Время генерации скрипта: 0.0925 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.