Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2008.09.07;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.62 MB
Время: 0.005 c
2-1217087498
fil-23
2008-07-26 19:51
2008.09.07
работа с компонентой ServerSocket и ClientSocket


2-1217182944
lavgirls
2008-07-27 22:22
2008.09.07
почему в консольном приложении русские буквы выводятся абракадабр


2-1217419539
D7
2008-07-30 16:05
2008.09.07
FillChar


15-1216181257
dreamse
2008-07-16 08:07
2008.09.07
Написание спам фильтра


15-1215718823
cyborg
2008-07-10 23:40
2008.09.07
Как повысить скорость программирования?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский