Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование в широком смысле слова > Алгоритмика

Алгоритмика Об алгоритмах вообще; методы, обсуждения способов решения

Ответ
 
Опции темы
Старый 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 пользователя(ей) сказали Спасибо Жека за это полезное сообщение:
ABTOMAT (07.09.2010), h1dd3n (08.09.2010), impersonalis (08.09.2010)
Старый 07.09.2010, 16:44   #2
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: "return!" (и чем скорее, тем лучше)

1. нет длинной "лестницы" (вложенности) отступов.
2. читаемость проще (привычнее) становится (если сложнее, то я выбираю ветвление вглубь)
дельно, но имхо очевдино.
Недостаток - если функция создаёт ряд динамических объектов (которые необходимо удалить), то копи-паст участка "удаление объектов" перед каждым ретурном необходим.
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Randomize (08.09.2010)
Старый 07.09.2010, 16:59   #3
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: "return!" (и чем скорее, тем лучше)

Ну дык дык, я думал, уже все допёрли (хотя кто знает, может, кто сейчас-то и просветится)
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Старый 07.09.2010, 20:20   #4
Venom2
 
Сообщений: n/a
Ответ: "return!" (и чем скорее, тем лучше)

Сообщение от impersonalis Посмотреть сообщение
Недостаток - если функция создаёт ряд динамических объектов (которые необходимо удалить), то копи-паст участка "удаление объектов" перед каждым ретурном необходим.
Для мэнеджед языков нет, у локальных экземпляров классов при выходе вызывается деструктор.
 
Ответить с цитированием
Старый 07.09.2010, 20:40   #5
IGR
Blitz's Shame !!
 
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений
(для 2,013 пользователей)
Ответ: "return!" (и чем скорее, тем лучше)

ага, есть такое !! аж непривычно))
(Offline)
 
Ответить с цитированием
Старый 07.09.2010, 21:51   #6
Phantom
Элита
 
Аватар для Phantom
 
Регистрация: 14.06.2008
Адрес: Украина, Киев
Сообщений: 2,273
Написано 754 полезных сообщений
(для 1,833 пользователей)
Смущение Ответ: "return!" (и чем скорее, тем лучше)

Я кстати первые года полтора кодил и не знал, что return можно вызывать в любом месте функции
(Offline)
 
Ответить с цитированием
Старый 08.09.2010, 00:41   #7
IGR
Blitz's Shame !!
 
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений
(для 2,013 пользователей)
Ответ: "return!" (и чем скорее, тем лучше)

вообще ретурн, чесно говоря моя любимая команда !! Она символизирует собой некое решение которое получает та часть кода, которая его востребовала !!
И кода пишеш ретурн, чувствуеш что на маленький шаг подошел к дрстижению результата !! Вообщем ретурн это классно !!
(Offline)
 
Ответить с цитированием
Эти 8 пользователя(ей) сказали Спасибо IGR за это полезное сообщение:
impersonalis (08.09.2010), is.SarCasm (08.09.2010), pax (09.09.2010), Phantom (08.09.2010), Randomize (08.09.2010), Reks888 (08.09.2010), Romanzes (10.09.2010), Жека (08.09.2010)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 21:09.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com