Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.10.2009, 20:36   #1
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию Разделители блоков кода

Здравствуйте!
Собственно сабж: как Вы разделяете код?
Приведу пример:
Код:
function a();
begin
...
//----------
...
end;
//***************************************
function b();
begin
...
//----------
...
end;
У меня примерно так
Levsha100 вне форума Ответить с цитированием
Старый 13.10.2009, 20:42   #2
Манжосов Денис :)
Участник клуба
 
Регистрация: 29.01.2008
Сообщений: 1,039
По умолчанию

Код:
procedure WhatIsIt();
begin

  ShowMessage('What's hapened');

end;

procedure WhoIsIt();
begin

  ShowMessage('Hello');

end;

procedure YesSir();
var
  x: byte;
begin

  x := x + 1; // Inc(x, 1)
  x := x + 2; // Inc(x, 2)
 
end;
У меня чисто пустыми строками разделено всё
Манжосов Денис :) вне форума Ответить с цитированием
Старый 13.10.2009, 20:43   #3
wall66
Участник клуба
 
Аватар для wall66
 
Регистрация: 04.10.2008
Сообщений: 1,485
По умолчанию

PHP код:
<?
########################################
##  блок 1  ############################
########################################
some code ();

########################################
##  блок 2  ############################
########################################
some more code ();
?>
свободен...
wall66 вне форума Ответить с цитированием
Старый 13.10.2009, 20:45   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Код:
int a()
{
...
//------
...
}
//========

int b()
{
...
//------
...
}
Чем сильнее отличаются по смыслу блоки, тем длиннее линии.
Могу также двойной сделать.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 13.10.2009, 20:47   #5
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Я обычно сотворяю нечто такое:
Код:

{*******************************************************}
{**************   Загрузка параметров   ****************}
{*******************************************************}
А шо? красиво и убористо.

P.S. Денис, overrited забыл
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 13.10.2009, 21:20   #6
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Полосочками на ширину страницы
Код:
//---------------------------------------- STR ----------------------------------------
  else if input_lo = '!str' then
    begin
      Data.Add(prefix + F(0,0,'_____')+'!md5 - return md5-hash');
      Data.Add(prefix + F(0,0,'_____')+'!ebase64 / !dbase64 - base64 encode / decode');
      Data.Add(prefix + F(0,0,'_____')+'!str2hex / !hex2str  - StringToHex / HexToString');
      Data.Add(prefix + F(0,0,'_____')+'!eurl / !durl - encode / decode URL');
      Data.Add(prefix + F(0,0,'_____')+'!engrus / !ruseng - switch layout');
    end
//------------------------------------ LAST TOPICS ------------------------------------
  else if input_lo = '!last' then
    begin
      forceSay := true;
      Data.Clear;
      Data.Add('Одну минутку...');
      if isPrivate then for i:=0 to data.Count-1 do bot.say(nick, data.Strings[i])
      else for i:=0 to data.Count-1 do bot.Say(ChannelName, data.Strings[i]);

      Data.Clear;
      CoInitialize(nil);
      rss.ClearXML;
      rss.LoadFromHTTP('http://programmersforum.ru/external.php?type=RSS2');
      for i:=0 to rss.Items.Count-1 do
      begin
        Data.Add(RSS.Items[i].title+' '+ StringReplace(RSS.Items[i].Link,'&goto=newpost','',[rfReplaceAll,rfIgnoreCase]));
      end;
      CoUninitialize;
    end
пыщь
JTG вне форума Ответить с цитированием
Старый 13.10.2009, 22:25   #7
alexinspir
Новичок
Джуниор
 
Аватар для alexinspir
 
Регистрация: 26.08.2008
Сообщений: 1,010
По умолчанию

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

вот пример моего кода:
Код:
package rmi;

import dbc.DBConnector;
import gui.Activity;
import java.rmi.NotBoundException;
import java.rmi.AlreadyBoundException;
import java.rmi.Remote;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
import java.rmi.server.UnicastRemoteObject;
import java.util.logging.Logger;

/**
 * Служит для создания RMI реестра и представления сервиса.
 * Назначение методов ясно из их названия. Использование возможно только после
 * инициализации подключения к базе данных
 * @author Alexander Inspir
 */
public class RMIServer implements ServiceIF{
    
    protected static final Logger _log = Logger.getLogger(RMIServer.class.getName());

    /**
     * Флаг для проверки штатного режима сервера.
     */
    protected volatile boolean binding = false;

    /**
     * RMI Реестр
     */
    protected Registry registry;
    
    /**
     * Экспортируемый объект
     */
    protected RMIServer service;

    /**
     * Имя представляемого сервиса
     */
    protected String rmiName;

    /**
     * Прослушиваемый порт
     */
    protected String rmiPort;

    /**
     * Заглушка
     */
    protected Remote stub;

    /**
     * Конструктор по умолчанию. Служит для создания экспортируемого объекта.
     */
    private RMIServer(){
    }

    /**
     * Основной конструктор. Служит для создания экземпляра сервера.
     * @param rmiName Имя сервиса
     * @param rmiPort Прослушиваемый порт
     */
    public RMIServer(String rmiName, String rmiPort){
        this.rmiName = rmiName;
        this.rmiPort = rmiPort;

    }


    /**
     * Создает RMI реестр и экспортирует сервис.
     * @return true если связывание прошло успешно, false если произошел сбой.
     */
    public boolean bind(){
        try {
            registry = LocateRegistry.createRegistry((new Integer(this.rmiPort)).intValue());
            service = new RMIServer();
            stub = UnicastRemoteObject.exportObject(service, 0);
            registry.bind(this.rmiName, stub);
            binding = true;
        } catch (RemoteException ex) {
            binding = false;
            _log.severe("Bound failed: "+ex.getMessage());
        }catch (AlreadyBoundException ex) {
            binding = false;
            _log.severe("Bound failed: "+ex.getMessage());
        }
        return binding;
    }

    /**
     * Отключает экспортируемый сервис.
     */
    public void unbind(){
        try {
            registry.unbind(rmiName);
            UnicastRemoteObject.unexportObject(service,true);
        } catch (RemoteException ex) {
             System.out.println(ex.getMessage());
            _log.severe("unbind failed: "+ex.getMessage());
        } catch (NotBoundException ex) {
             System.out.println(ex.getMessage());
            _log.severe("unbind failed: "+ex.getMessage());
        }
        try {
            service.finalize();
        } catch (Throwable ex) {
            _log.severe(ex.getMessage());
        }
    }

    /**
     * Возвращает все записи из базы, в виде Object.
     * Если возвращаемое значение является null - роняет сервер.
     * @return вектор в виде  Object либо null если произошел сбой.
     * @throws RemoteException
     */
    public Object selectAll() throws RemoteException {
        Object result = DBConnector.selectAll();
        if(result==null){
            Activity.terminateServer();
        }
        return result;
    }

    /**
     * Возвращает объект, содержащий вектор с результатами поиска по phrase.
     * @param phrase - искомая фраза.
     * @return результат поиска.
     * @throws RemoteException
     */
    public Object search(String phrase) throws RemoteException {
        Object result = DBConnector.search(phrase);
        if(result==null){
            Activity.terminateServer();
        }
        return result;
    }

    /**
     * Вставляет в базу данных текст.
     * @param text - вставляемый текст.
     * @throws RemoteException
     */
    public void insert(String text) throws RemoteException {
        if(!DBConnector.insert(text)){
            Activity.terminateServer();
        }
    }

    /**
     * Возвразает определенную запись из базы.
     * Использовать не рекомендуется.
     * @param id - идентификатор записи
     * @return - (Object)TextBox объект с записью
     * @throws RemoteException
     */
    public Object selectSpecific(int id) throws RemoteException {
        Object result = DBConnector.selectSpecific(id);
        return result;
    }


}
ромик0: Cколько получают здешние модераторы?
pu4koff: У модераторов сдельная оплата труда. Выдал предупреждение - плюс к премии. Выдал бан - лучший модератор месяца со всеми вытекающими.
alexinspir вне форума Ответить с цитированием
Старый 13.10.2009, 22:47   #8
Izhic
Форумчанин
 
Аватар для Izhic
 
Регистрация: 08.10.2008
Сообщений: 668
Сообщение

У меня вот так :
////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////


Цитата:
{********************************** *********************}
{************** Загрузка параметров ****************}
{********************************** *********************}

Хорошо, что такой Вариант в >Delphi 7 работает(вероятно, раз вы так делаете)
т.к. у меня , это было бы так:

{
{********************************** *********************}
{************** Загрузка параметров ****************}
{********************************** *********************}


fwefwefwe //msg:Error
}


Жутко нервирует
Соответственно вообще отдаю предпочтение "//" нежели "{}"
Может есть Вариант исправления этой проблемы...
Заплатка какая нибудь
Don't worry be happy

Последний раз редактировалось Izhic; 14.10.2009 в 10:53.
Izhic вне форума Ответить с цитированием
Старый 13.10.2009, 23:25   #9
SunKnight
Участник клуба Подтвердите свой е-майл
 
Аватар для SunKnight
 
Регистрация: 14.12.2007
Сообщений: 1,434
По умолчанию

У alexinspir самый правильный, так как он юзает java соглашение о кодировании. Респект alexinspir
Проповедую design patterns, верую в MVC, доверяю eXtrime programming.
SunKnight вне форума Ответить с цитированием
Старый 14.10.2009, 09:16   #10
ds.Dante
Старожил
 
Аватар для ds.Dante
 
Регистрация: 06.08.2009
Сообщений: 2,992
По умолчанию

В C++ использую 2-3 пустые строки и примерно то что выше.
В C# использую #region для объединения нескольких близких функций.

Цитата:
Сообщение от Izhic Посмотреть сообщение
////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
Кстати, это мысль. :)
ds.Dante вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
разделители при вводе даты:вопрос Evgenii БД в Delphi 3 29.06.2009 05:22
Высота блоков. Grind HTML и CSS 1 23.10.2008 21:37
Разделители в csv Aimo Microsoft Office Excel 13 09.10.2008 17:20
Горизонтальные разделители в PopupMenu yaver Общие вопросы Delphi 6 29.09.2008 16:57