Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.09.07;
Скачать: CL | DM;

Вниз

Как повысить скорость программирования?   Найти похожие ветки 

 
cyborg   (2008-07-10 23:40) [0]

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


 
antonn ©   (2008-07-10 23:41) [1]

юзаю VCL


 
wl ©   (2008-07-10 23:44) [2]

слепой десятипальцевый метод...


 
Zeqfreed ©   (2008-07-10 23:47) [3]

Ctrl+C / Ctrl+V


 
Rouse_ ©   (2008-07-10 23:47) [4]

тебе нужен секрет скорости программирования или качества программы?


 
oxffff ©   (2008-07-10 23:54) [5]


> cyborg   (10.07.08 23:40)  


Работать, работать, работать и еще раз работать.


 
AFHU   (2008-07-10 23:55) [6]

> Как повысить скорость программирования?
Не очень оригинальный ответ, но может быть нужно использовать Castalia? )


 
cyborg   (2008-07-10 23:58) [7]

[1] , [2], [3]  - уже использую


> тебе нужен секрет скорости программирования или качества
> программы?


Меня интересует как увеличить скорость программирования не ухудшив или даже улучшив качество.


 
Zeqfreed ©   (2008-07-10 23:59) [8]

> cyborg   (10.07.08 23:58) [7]

Отказаться от [3].


 
cyborg   (2008-07-11 00:00) [9]


> Работать, работать, работать и еще раз работать.


Можно грузчиком работать, но хорошим программистом при этом не стать :)


> AFHU   (10.07.08 23:55) [6]

Спасибо. Скачал, сейчас посмотрю что это.


 
Anatoly Podgoretsky ©   (2008-07-11 00:21) [10]

> cyborg  (10.07.2008 23:58:07)  [7]

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


 
cyborg   (2008-07-11 00:35) [11]


> AFHU   (10.07.08 23:55) [6]


Посмотрел, прикольная штука.


> Anatoly Podgoretsky ©   (11.07.08 00:21) [10]

Афигеть. Я то думал кто-нибудь расскажет о том как лучше организовывать классы, какие паттерны использовать или что-нибудь в этом духе. Мда... я ошибался.


 
Ega23 ©   (2008-07-11 00:38) [12]

Сначала карандаш и бумашко. Потом - набивка кода. Когда понятно, что делать, я, бывает, за день под 1000 строк кода фигарю (откомпилированных, без хинтов и варнингов). Когда непонятно - могу 2 дня вообще ни строчки не выдать. Всё карандашом на бумашко.


 
Anatoly Podgoretsky ©   (2008-07-11 00:39) [13]

> cyborg  (11.07.2008 0:35:11)  [11]

Это относится ко второй части.
Но твой вопрос не имеет отчета, поскольку ответ - выберите одно из двух.


 
AFHU   (2008-07-11 00:47) [14]

> Спасибо. Скачал, сейчас посмотрю что это.

%-) Я обычно сначала смотрю, а уже потом скачиваю или выкидываю ссылку

> Посмотрел, прикольная штука.

Реально что-ли скачал? Я сам-то про неё только сегодня узнал от wl). Стоит хоть её скачивать-то? Глюков никаких? Ограничения какие?

А по сабжу я бы сказал вот что:
Копировать/вставлять - это конечно всё равно придётся делать, как вы ни крутитесь. Но было бы что копировать. Поэтому весь творческий путь программиста - это постоянное пополнение собственной библиотеки процедур и функций. Ещё в 80-е и 90-е об этом говорилось в каждой книжке. Сейчас как-то умалчивают, как мне кажется.

Любые "интересные" процедуры и функции, даже часто специфические, лучше выносить в собственный юнит. Например, начать хотя бы с допотопных функций определения путей к системным папках и проч. Уже через месяц активной разработки ПО окажется, что такие функции часто нужны, а писать их заново или искать в предыдущих проектах долго и сложно. А тут подрубаем юнит, за пару секунд (при наличии хороших комментариев и "стуктуры") находим функцию (или вообще по памяти вспоминаем) и всё. Если юнит сильно разрастётся, или там будет много функций различного направления, можно создать ещё один и тд. Мне это реально помогает.

Также интересная вещь - использование готовых примеров и заготовок :) Ну вот мне пока на ум приходит только DelphiWorld, правда там для меня мало что интересного. Когда нужно встроить в пограмму какую-то возможность, то берём код оттуда и нагло копипастим в свой проект. Но это уже на любителя, всё делается на свой страх и риск, никто не гарантирует также скопировать чужие ошибки и баги.

Ну вроде вот и все "секреты"


 
cyborg   (2008-07-11 00:47) [15]


> Ega23 ©   (11.07.08 00:38) [12]

Под программированием я понимаю и проектирование и набивку кода.


> Anatoly Podgoretsky ©   (11.07.08 00:39) [13]

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


 
Ega23 ©   (2008-07-11 00:59) [16]


> Под программированием я понимаю и проектирование и набивку
> кода.


Не знаю, как у кого, говорю за себя.
\Есть задача. Её думаю. Думаю, на самом деле постоянно. По дороге домой, дома, по дороге на работу, на работе. Что-то рисую, что-то от руки пишу. когда приходит четкое понимание проблемы - сажусь кодировать. Именно при кодировании - здорово Ctrl+Shift+C помогает.


 
cyborg   (2008-07-11 01:00) [17]


> Реально что-ли скачал? Я сам-то про неё только сегодня узнал
> от wl). Стоит хоть её скачивать-то? Глюков никаких? Ограничения
> какие?

Да, скачал. Для D7 весит всего три с половиной метра. Не знаю стоит или не стоит скачивать, надо потестить хотябы недельку. Глюков пока не заметил. Ограничения: внизу формы появилась надпись Trial verion. Остальсь 30 дней, и кнопка "Купить сейчас". Порадовало выделение begin - end"ов :)


 
cyborg   (2008-07-11 01:06) [18]


> Ega23 ©   (11.07.08 00:59) [16]


Не понял, что должно произойти при нажатии Ctrl+Shift+C?


 
Eraser ©   (2008-07-11 01:15) [19]

> Как повысить скорость программирования?

судя по [18], для начала выучить делфевские хоткеи ;-)


 
AFHU   (2008-07-11 01:21) [20]

> судя по [18], для начала выучить делфевские хоткеи ;-)

Может всё-таки имелось в виду Ctrl+Shift+J?
Ctrl+Shift+C я в своей практике не использовал, понятия не имею что это за зверь :)


 
Ega23 ©   (2008-07-11 01:22) [21]


> Не понял, что должно произойти при нажатии Ctrl+Shift+C?

Понятно...
Создаёшь новый проект, создаёшь в нём новый юнит, пишешь следующий код:

unit Unit1;

implementation

type

 TMyClass = class (TMyObject
 public
  constructor Create;
  destructor Destroy; override;
  function Func1(const Param1 : Integer) : Boolean;
  property Prop1 : string read FProp1 write FProp1;
  property Prop2 : Integer read GetFProp2 write SetFProp2;
end;


Потом встаёшь курсором на любую строчку в объявлении типа и жмёшь данное сочетание клавишь.
Вуаля.


 
Ega23 ©   (2008-07-11 01:24) [22]


> Может всё-таки имелось в виду Ctrl+Shift+J?


Имелось ввиду именно то, что имелось ввиду.


> Ctrl+Shift+C я в своей практике не использовал, понятия
> не имею что это за зверь :)


Может имеет смысл сначала попробовать, что это за зверь, а уже потом интересоваться, что имелось ввиду?


 
AFHU   (2008-07-11 01:26) [23]

> Ctrl+Shift+C я в своей практике не использовал

Нагло вру, было дело, только очень давно :(


 
Украинец   (2008-07-11 02:11) [24]


> cyborg   (10.07.08 23:40)
>
> Мастера, поделитесь приемами, которые вы используете чтобы
> повысить скорость программирования и качество программ.


Пытаться проектировать ДО, а не ПОСЛЕ. Я стараюсь всегда так делать, где это возможно по срокам.


 
kaif ©   (2008-07-11 02:41) [25]

Может быть имеет смысл изучить такую тему, как паттерны проектирования.

Я сам только что обратил на них внимание и мне показалось, что это очень интересная тема. Ногами прошу не бить.

Если кто может лаконично и вдохновляюще пролить свет на них в данной ветке, я думаю, что это могло бы оказаться очень уместным. Похоже, что они могут реально поднять качество работы программиста.

Вот то, что я просматривал сегодня:

http://www.rsdn.ru/summary/864.xml


 
wl ©   (2008-07-11 03:21) [26]

ну а за что бить то? вполне полезный и эффективный инструмент.
многие программисты, не зная об их существовании, неосознанно ими пользуются, в очередной раз изобретая велосипед. Их просто формализовали из накопленного опыта и обозвали, чтобы каждый по названию мог понять о чем идёт речь.
правда это не панацея, иногда они даже вредят, если их неумело применить (так написано в книжках по design patterns)


 
Украинец   (2008-07-11 03:48) [27]


> kaif ©   (11.07.08 02:41) [25]


Здесь лучше описано
http://www.citforum.ru/SE/project/pattern/


 
cyborg   (2008-07-11 09:46) [28]

Спасибо за ссылки. Почитаю.


 
clickmaker ©   (2008-07-11 09:58) [29]

> чтобы повысить скорость программирования

нужно представлять, что нужно сделать. Тогда скорость сама собой развивается


 
Дуб ©   (2008-07-11 09:59) [30]


> чтобы повысить скорость программирования


Программа Соло - наше фсе!


 
int64   (2008-07-11 10:15) [31]


> Мастера, поделитесь приемами, которые вы используете чтобы
> повысить скорость программирования и качество программ.

http://www.modelmakertools.com/code-explorer/index.html

После освоения этого инструмента, будет какзаться, что до этого занимался мазохизмом.


 
int64   (2008-07-11 10:21) [32]


> Украинец   (11.07.08 03:48) [27]
>
> > kaif ©   (11.07.08 02:41) [25]
>
>
> Здесь лучше описано
> http://www.citforum.ru/SE/project/pattern/


А еще лучше:
в Д2006 - Д2007 есть такая штука, как Pattern Wizard


 
Desdechado ©   (2008-07-11 11:13) [33]


> чтобы повысить скорость программирования и качество программ

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


 
Dennis I. Komarov ©   (2008-07-11 11:31) [34]

Нанять хорошего программиста :)


 
Игорь Шевченко ©   (2008-07-11 19:15) [35]

Писать меньше кода. Я серьезно


 
GrayFace ©   (2008-07-12 15:47) [36]

int64   (11.07.08 10:15) [31]
http://www.modelmakertools.com/code-explorer/index.html

После освоения этого инструмента, будет какзаться, что до этого занимался мазохизмом.

Когда я узнал о Ctrl+Shift+C, c большим облегчением с ним распрощался. (о Ctrl+Shift+Up/Down я узнал еще раньше) Хотя в редких случаях, типа Ctrl+C/Ctrl+V из класса в класс, полезен.


 
Alkid   (2008-07-12 15:48) [37]


> Мастера, поделитесь приемами, которые вы используете чтобы
> повысить скорость программирования и качество программ.

Использовать языки более высокого уровня :)


 
turbouser ©   (2008-07-12 16:09) [38]


> Desdechado ©   (11.07.08 11:13) [33]

Это в идеале. А на самом деле?

> Игорь Шевченко ©   (11.07.08 19:15) [35]

Интересно... Это как? Меньше чем требуется? Меньше чем мог бы?
Хреновый какой-то совет. Совсем не в тему...


 
Kostafey ©   (2008-07-12 16:15) [39]

Секретного ингридиента не существует. Все дело в тебе (с) Кунг-Фу Панда
:)


 
VirEx ©   (2008-07-12 18:45) [40]


> Как повысить скорость программирования?

сесть на ежа
задолжать
разделить программирование на проектирование и само забивание кода
и т.п.


 
TeamLeader   (2008-07-12 19:00) [41]


> Использовать языки более высокого уровня :)


Это какие? Сейчас использую С#.


 
turbouser ©   (2008-07-12 19:19) [42]


> TeamLeader   (12.07.08 19:00) [41]
>
>
> > Использовать языки более высокого уровня :)
>
>
> Это какие? Сейчас использую С#.

Ужос какой!! Брось эту хрень


 
Правильный$Вася   (2008-07-12 22:41) [43]


> > Использовать языки более высокого уровня :)
> Это какие? Сейчас использую С#.

русский народный


 
Johnmen ©   (2008-07-13 00:17) [44]


> Как повысить скорость программирования?

Почему то подумалось - как сделать длиннее?
Хирургически? Мистически?
А главный вопрос - есть, что удлиннять то? Нет? Чего ж тогда беспокоитесь?


 
Renegat   (2008-07-13 00:35) [45]

> Как повысить скорость программирования?

Использовать язык, где нужно меньше всего писАть.
Например, ASM. Сам пишу и всем рекомендую! %)

А ещё лучше - Brainfuck. Там воще один опкод = один символ. Только у него несколько ограниченные возможности...


 
ketmar ©   (2008-07-13 00:50) [46]

>[45] Renegat (2008-07-13 00:35:00)
>Только у него несколько ограниченные возможности…

врёшь ты всё. он turing complete → возможности не меньше, чем у любого другого языка.

---
Do what thou wilt shall be the whole of the Law.


 
Renegat   (2008-07-13 00:54) [47]

> [46] ketmar ©   (13.07.08 00:50)

Хм... попробуй написать на нём код обработки произвольного прерывания =)


 
Zeqfreed ©   (2008-07-13 01:06) [48]

> Renegat   (13.07.08 00:54) [47]

Пишешь интерпретатор на C в двадцать строк и вперед.


 
Renegat   (2008-07-13 01:10) [49]

> [48] Zeqfreed ©   (13.07.08 01:06)

А это уже не будет классический Брейнфак! В классическом есть только < > + - . , и [ ... ] ! А это уже будет читерство.


 
Zeqfreed ©   (2008-07-13 01:12) [50]

> Renegat   (13.07.08 01:10) [49]

Угу, а если ты используешь компилятор для Си, то это уже не классический Си. Правильно я понимаю?


 
Renegat   (2008-07-13 01:18) [51]

> Правильно я понимаю?

Нет. Если добавлять в синтаксис Фака новый опкод (скажем, ¶ - обработать прерывание, номер которого в предыдущей ячейке, парамы - в ещё более предыдущих) - то он станет не классическим. А если обходиться стандартным факовским набором команд - то вперёд с песнЯми. Пишем интерпретатор и обрабатываем!


 
Renegat   (2008-07-13 01:21) [52]

> в предыдущей ячейке

* в текущей, извиняюсь.

Я это вообще к чему. Несмотря на то, что теоретически Фак может делать то что умеют остальные ЯП, на практике это не всегда так.


 
Zeqfreed ©   (2008-07-13 01:35) [53]

> Renegat   (13.07.08 01:18) [51]

А что мне может помешать записать в ячейку опкод команды для обработки прерывания и вызвать его?


 
Renegat   (2008-07-13 01:46) [54]

> [53] Zeqfreed ©   (13.07.08 01:35)

Ручаюсь, что EIP нельзя с помощью стандартных команд Фака установить на какую бы то ни было ячейку данных из 30000 номинально доступных проге.


 
Zeqfreed ©   (2008-07-13 01:56) [55]

> Renegat   (13.07.08 01:46) [54]

Это проблема не языка, а компилятора/интерпретатора. Возможность такая есть. Новых инструкций никто не добавляет, все довольны вроде.


 
Renegat   (2008-07-13 02:05) [56]

> [55] Zeqfreed ©   (13.07.08 01:56)

Э, нет! Тогда будет нарушена "философия" языка! Ибо речено святыми:

В «классическом» Brainfuck, описанном Урбаном Мюллером, размер ячейки — один байт, количество ячеек 30000. В начальном состоянии указатель находится в крайней левой позиции, а все ячейки заполнены нулями.

т.е. машина не может выходить за границы этого диапазона (иначе ошибка), а раз при старте всё забито нулями, то кода сопстно проги там быть не могёт, и следовательно, EIP на эту область указывать тоже не будет.

А вообще, про принципиальную возможность - согласен. Только это уже будет отступление от канонов. Как С++ по отношению к С.


 
Zeqfreed ©   (2008-07-13 02:15) [57]

> Renegat   (13.07.08 02:05) [56]

Ладно, будем считать что буквоедство победило здравый смысл :)
Я вообще и не планировал особо спорить, я так, за Кетмара заступаюсь ;)


 
ketmar ©   (2008-07-13 05:07) [58]

>[56] Renegat (2008-07-13 02:05:00)
ну да, про 30 тыщ я запамятовал.

>[57] Zeqfreed © (2008-07-13 02:15:00)
>я так, за Кетмара заступаюсь ;)

зря, я тут лажанулся. %-)

---
Do what thou wilt shall be the whole of the Law.


 
iZEN   (2008-07-16 07:42) [59]


> cyborg   (10.07.08 23:40)
>
> Мастера, поделитесь приемами, которые вы используете чтобы
> повысить скорость программирования и качество программ.


Нужно уметь думать и размышлять.


 
brother ©   (2008-07-16 07:44) [60]

> скорость программирования

имхо формулировка не точна... различаем, скорость набора кода, сроки выполнения ТЗ...


 
Anatoly Podgoretsky ©   (2008-07-16 09:39) [61]

> iZEN  (16.07.2008 7:42:59)  [59]

> Нужно уметь думать и размышлять.

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


 
Правильный$Вася   (2008-07-16 11:26) [62]


> Нужно уметь думать и размышлять.

а с запятой выглядело бы практичнее ;)


 
Украинец   (2008-07-16 15:14) [63]


> iZEN   (16.07.08 07:42) [59]
>
>
> > cyborg   (10.07.08 23:40)
> >
> > Мастера, поделитесь приемами, которые вы используете чтобы
> > повысить скорость программирования и качество программ.
>
> Нужно уметь думать и размышлять.


Есть три пути самосовершенствования: размышление — самый благородный, подражание — самый простой, и путь опыта — самый трудный (с) Сенека

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


 
blackman ©   (2008-07-16 16:18) [64]

Самый простой путь использовать ранее сделанные программы.
Конечно, если их достаточно много. Можно это и паттернами назвать :-)



Страницы: 1 2 вся ветка

Текущий архив: 2008.09.07;
Скачать: CL | DM;

Наверх




Память: 0.64 MB
Время: 0.016 c
3-1205222693
Julia
2008-03-11 11:04
2008.09.07
HalcyonDataSet


2-1217239959
AlekseyB
2008-07-28 14:12
2008.09.07
База данных MS SQL


15-1216204880
DVM
2008-07-16 14:41
2008.09.07
Вопрос к тем кто живет на Украине или ездил туда недавно.


2-1217350317
Сергей
2008-07-29 20:51
2008.09.07
Как добавить unit из другой программы?


15-1216379395
@!!ex
2008-07-18 15:09
2008.09.07
Как получить окно в QT?