|
Алгоритмика Об алгоритмах вообще; методы, обсуждения способов решения |
07.09.2010, 16:21
|
#1
|
Дэвелопер
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений (для 886 пользователей)
|
"return!" (и чем скорее, тем лучше)
Захотелось мне рассказать о своём подходе кое к какой вещи в коде.
Вещь заключается в том, что я стараюсь не углубляться в условия, а выходить из функций при первой возможности.
Что это даёт мне?
1. нет длинной "лестницы" (вложенности) отступов.
2. читаемость проще (привычнее) становится (если сложнее, то я выбираю ветвление вглубь)
Примеры:
public CBaseObject fnSortByPosition()
{
if(objsCount == 0)
return null;
CBaseObject obj;
for(int k=0;k<objsCount;++k)
{
if(!(listObjs[k] instanceof CUser)) //если не юзер, то пропускаем
continue;
//........
//и тут основной код
//
//
//
}
}
public CBaseObject fnSortByPosition()
{
if(objsCount > 0)
{
CBaseObject obj;
for(int k=0;k<objsCount;++k)
{
if(listObjs[k] instanceof CUser) //если это юзер, то делаем
{
//........
//и тут основной код
//
//
//
}
}
}
}
Всё. Всем привет!
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо Жека за это полезное сообщение:
|
|
07.09.2010, 16:44
|
#2
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: "return!" (и чем скорее, тем лучше)
1. нет длинной "лестницы" (вложенности) отступов.
2. читаемость проще (привычнее) становится (если сложнее, то я выбираю ветвление вглубь)
|
дельно, но имхо очевдино.
Недостаток - если функция создаёт ряд динамических объектов (которые необходимо удалить), то копи-паст участка "удаление объектов" перед каждым ретурном необходим.
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
07.09.2010, 16:59
|
#3
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: "return!" (и чем скорее, тем лучше)
Ну дык дык, я думал, уже все допёрли (хотя кто знает, может, кто сейчас-то и просветится)
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
07.09.2010, 20:20
|
#4
|
|
Ответ: "return!" (и чем скорее, тем лучше)
Сообщение от impersonalis
Недостаток - если функция создаёт ряд динамических объектов (которые необходимо удалить), то копи-паст участка "удаление объектов" перед каждым ретурном необходим.
|
Для мэнеджед языков нет, у локальных экземпляров классов при выходе вызывается деструктор.
|
|
|
07.09.2010, 20:40
|
#5
|
Blitz's Shame !!
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений (для 2,013 пользователей)
|
Ответ: "return!" (и чем скорее, тем лучше)
ага, есть такое !! аж непривычно))
|
(Offline)
|
|
07.09.2010, 21:51
|
#6
|
Элита
Регистрация: 14.06.2008
Адрес: Украина, Киев
Сообщений: 2,273
Написано 754 полезных сообщений (для 1,833 пользователей)
|
Ответ: "return!" (и чем скорее, тем лучше)
Я кстати первые года полтора кодил и не знал, что return можно вызывать в любом месте функции
|
(Offline)
|
|
08.09.2010, 00:41
|
#7
|
Blitz's Shame !!
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений (для 2,013 пользователей)
|
Ответ: "return!" (и чем скорее, тем лучше)
вообще ретурн, чесно говоря моя любимая команда !! Она символизирует собой некое решение которое получает та часть кода, которая его востребовала !!
И кода пишеш ретурн, чувствуеш что на маленький шаг подошел к дрстижению результата !! Вообщем ретурн это классно !!
|
(Offline)
|
|
Эти 8 пользователя(ей) сказали Спасибо IGR за это полезное сообщение:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 11:28.
|