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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.10.2012, 23:00   #1
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию Стиль

Поговорим о вечном, о стиле...

Маленькое лирическое отступление : возможно опять пишу тему, не в той ветке, но т.к. здесь данная тема, может быть посещена такими замечательными людьми, как : TinMan, Serge, Stilet, eoln, BDA, Sciv, Leshii и т.д. (надеюсь данный список никого не обижает...) то решил отписаться тут...

Т.к. пора заканчивать писать "для себе", тоесть я понимаю, а на остальных "пофиг". Возник вопрос : что Вы считаете не приемлемым в моем стиле?
Начнем пожалуй :
Код:
program Proba; // program не пишу, он полезен лишь когда программа в ближайшем будущем программа будет преобразована 
//в процедурку\функцию

const 
       SIZE = 1000;


var
          a : array [1..SIZE] of Integer; // почему а? - Сам не знаю, наверно от array
          n, max : Integer; // вроде всё понятно
          s : string; // зарезервированные слова пишу с маленькой (Паскаль выделяет их беленьким)
          f : Boolean; // почему f ? - Взял от Флага.
          cod, cnod : Integer; // CountOfOdd, CountOfNotOdd, обычно если использую такие переменные то в коментах
// указываю от каких словосочетаний они (переменные) произошли.
          
begin
         InitArr (a, n);

         SortArr (a, n);
   
         PrintArr (a, n)
end.
Примерно, так выглядят мои программки, пожалуйста раскритикуйте их с точки зрения стиля. (Желательно с примерами - например, что за переменная '?' - это ужас, надо писать '?')...

Огромное Спасибо!

Последний раз редактировалось Stilet; 21.10.2012 в 16:24.
Poma][a вне форума Ответить с цитированием
Старый 20.10.2012, 00:06   #2
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Не сказал бы, что мне что-то не нравится. Разве что отступы от края сильно большие
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 20.10.2012, 07:13   #3
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Тогда еще 1 вопрос : сколько пробелов прикрутить к Tab'у?
Poma][a вне форума Ответить с цитированием
Старый 20.10.2012, 10:39   #4
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Я обычно делаю два пробела от предыдущего уровня.

Код:
begin
  for i:=1 to n do
    if i mod 10=0 then begin
      WriteLn(i);
      WriteLn(2*i);
    end
    else begin
      Writeln(i+1);
      WriteLn(3*i);
    end;
  ReadLn;
end;
примерно так. А вообще - кому как удобнее, наверное

UPD. Главное, чтоб не как в этой вчерашней теме:

http://programmersforum.ru/showthread.php?t=214858
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...

Последний раз редактировалось Sciv; 20.10.2012 в 10:45.
Sciv вне форума Ответить с цитированием
Старый 20.10.2012, 11:18   #5
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,542
По умолчанию

Как вариант:

Код:
program Proba;

const 
  SIZE = 1000;
  
type
  TArray = array [1..SIZE] of Integer;

var
  arr:  TArray;  // почему аrr? - Сам не знаю, наверно от array
  n:    Intrger;
  max:  Integer; // вроде всё понятно
  str:  string;  // зарезервированные слова пишу с маленькой (Паскаль выделяет их беленьким)
  flag: Boolean; // почему f ? - Взял от Флага.
  cod:  Integer; // CountOfOdd
  cnod: Integer; // CountOfNotOdd
          
begin
  InitArr  (arr, n);
  SortArr  (arr, n);
  PrintArr (arr, n);
end.
P.S. Еще один пример как не надо делать: http://programmersforum.ru/showthread.php?t=214850

Последний раз редактировалось Arigato; 20.10.2012 в 11:23.
Arigato вне форума Ответить с цитированием
Старый 20.10.2012, 12:14   #6
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Вот хорошая тема.
http://www.programmersforum.ru/showthread.php?t=182196
Вадим Мошев вне форума Ответить с цитированием
Старый 21.10.2012, 16:03   #7
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Спасибо за ссылочки и примеры.
И еще 1 вопрос :
Код:
procedure CountOfBigLetter ()
или
Код:
procedure CoBL () // CountOfBigLetter
Poma][a вне форума Ответить с цитированием
Старый 21.10.2012, 16:30   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
раскритикуйте их с точки зрения стиля.
Не знаю кому как а мне такой стиль не мешает понимать твою программу.
Я бы конечно написал так
Код:
begin
         InitArr (a, n);         SortArr (a, n);         PrintArr (a, n)
end.
И то только потому, что думаю что эти три функции обьеденены в некую логической блок-систему, имеющую логическое начало и конец, и не влияющую на остальную программу. Возможно я бы эти три операции в отдельную процедуру вынес, будь перед ними или после них еще код. Поэтому я эту систему в одну строку написал бы

Цитата:
И еще 1 вопрос :
Второе не приемлемо, хотя бы потому что экспортируй ты процедуру в ДЛЛ или в принципе в другой модуль, камменты исчезнут. Камменты только в исходнике будут, а имя уже много о чем скажет. CoBL мне ни о чем не скажет. Разве что какая-то связка с Коболом. А вот CountOfBigLetter я смогу более менее адекватно перевести, поняв что функция предназначается для получения кол-ва заглавных символов.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.10.2012, 16:39   #9
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
Я бы конечно написал так
Интересно.

А что насщет этого ? :
Код:
begin
    ReadLn (n);
    c := 1;
    k := 2;
    a[1] := 0;

    for i := 1 to n do
        ...

    for i := 1 to n do
        Write (a[i], ' ')
end.
Цитата:
Не знаю кому как а мне такой стиль не мешает понимать твою программу.
Эх, бальзам на душу)) Просто возможно не мешает результату, а вот процессу понимаю всё-таки чем-то докучает, вот и хочется выявить и искоренить эти косяки.
Спасибо
Poma][a вне форума Ответить с цитированием
Старый 21.10.2012, 17:12   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
а вот процессу понимаю всё-таки чем-то докучает
Смотря кто как читает.
Цитата:
А что насщет этого ? :
Старый стиль форматирования. Сейчас кстати в Питоне и F# используется как обязательный. Ничем не хуже. Хотя я так давно не пишу.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
стиль окна ВалекFCRK Общие вопросы Delphi 3 17.06.2011 21:36
Стиль текста MyLastHit Общие вопросы Delphi 4 02.12.2010 14:22
DrawFocusRect стиль! sergeyrulit Общие вопросы Delphi 1 29.08.2010 22:36