![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
Результаты опроса: Какой у вас метод написания програм? | |||
Да какой еще метод? Сажусь, и придумываю на ходу. |
![]() ![]() ![]() ![]() |
46 | 63.89% |
Я сам себе программист, компилятор и компьютер ![]() |
![]() ![]() ![]() ![]() |
13 | 18.06% |
Слушаю умные советы, читаю подобные исх., книги. |
![]() ![]() ![]() ![]() |
15 | 20.83% |
Долго готовлюсь, составляю план, зарание обдумываю глюки. |
![]() ![]() ![]() ![]() |
7 | 9.72% |
Другой. |
![]() ![]() ![]() ![]() |
8 | 11.11% |
Опрос с выбором нескольких вариантов ответа. Голосовавшие: 72. Вы ещё не голосовали в этом опросе |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Средний прогер
Форумчанин
Регистрация: 16.01.2007
Сообщений: 123
|
![]()
Я видел очень много методик, стилей программирования, но по них разве что язык выучить можно. Но какая при программинге должна быть логика? Как нужно относится к компьютеру и к создаваемой программе? Как нужно их осознавать?
Я использую прихологический подход. Я, например, представляю себе программу в виде електрогенератора, который подает ток куда и сколько нужно, а компьютер я представляю в виде нескольких тысяч електромоторчиков, какие управляют виртуальным миром. Задача программиста - создать последовательность, алгоритм подачи тока на моторчики, чтобы они по этому алгоритме управляли чем-то, создавали что-то. Создавать нужно именно алгоритм, ане код. Код - это средство, а не цель. Перед началом написания новой проги (игры), я представляю себе настоящий мир, в котором нет ничего, ни воздуха, ни горизонта, ни других обьектов. Я пытаюсь наполнить этот мир нужными обьектами, своими законами физики и механики, своими алгоритмами поведения. Когда этот мир будет проработан до малейщих деталей и крепко запечатлён в памяти, остается самая малость, перенести все это в компьютер с помощью какого-то языка программирования. "Ни чё себе малость!" - скажите вы. А переносить нужно не собственно виртуальный мир как трехмерную сцену, нужно переносить алгоритм. Перед началом программирования я списываю десятки страниц тетради на рисование алгоритма. Отсюда и формула выводится:Сложность и скорость написания программы обратно пропорциональны размеру нарисованного алгоритма. Извините, если тема такая уже была. Может, тема для вас покажется тупой, нерациональной. Если да, то поправляйте. ЗЫ. Относитесь к этому вопросу по-философски. |
![]() |
![]() |
![]() |
#2 |
Александр
Администратор
Регистрация: 28.10.2006
Сообщений: 17,630
|
![]()
Cezar, тетрадка общая для каждого нового проекта. и множество схем и кодов, со временем переделанных и прочее... графика тоже разрабатываеться сначало на бумаге.
|
![]() |
![]() |
![]() |
#3 |
Редкий тунеядец
Форумчанин
Регистрация: 29.10.2006
Сообщений: 595
|
![]()
Мне обычно помогало порисовать что-то вроде образов подсознания перенесённых на бумагу, иногда при этом получаются нормальные, почти готовые исходники, а иногда куча кружочков квадратиков, всяких глупых пометок место которым в телефонной книге, но вконечном итоге без этого обычно ни как, в таком ритме +пиво+сигареты+музыка зарождается начало программы, а потом когда мозг за сто-то зацепился так сказать сформированно ядро алгоритма, начинаю программить прямо в среде, причём полностью забывая про то что я там писал, главное при этом не останавливаться до тех пор пока не сделаю именно тот объём с которого я смогу начать в следующий раз, если сделать меньше этого то мысли в следующий раз могут так не "запустится", поэтому приходится оставлять в исходники всякие вехи, типа отступов или пояснений, а если сделать больше чем того требует настрой то опять же трудно начинать, потому что написанное сильно путается и как правило появляются тупые трудноисправимые баги! Ещё помогает, когда ловишь клин начинаешь либо про себя либо в слух говорить что-то типа: "так Assign..." (такое состояние с недавних пор я называют состоянием полного такасигна) просто лечь и поспать! Вообще трудно объяснить как всё происходить, но закономерности имеются и я пытаюсь предерживаться своим установкам!
|
![]() |
![]() |
![]() |
#4 |
promuovere
Пользователь
Регистрация: 09.12.2006
Сообщений: 95
|
![]()
Когда чем-то занимаюсь, то пытаюсь достич полной концентрации на объекте работы. Вообще неплохо , когда в чем-то доходишь , до уровня автоматизма.
|
![]() |
![]() |
![]() |
#5 | ||
Средний прогер
Форумчанин
Регистрация: 16.01.2007
Сообщений: 123
|
![]() Цитата:
Execom, твою мысль я понял. И вообще, у каждого свое восприятие мира, и соответственно, к программингу. Я программер уже 2 года, и скажу честно, МЕНЯ НИКТО НИКОГДА ЭТОМУ НЕ УЧИЛ, я самоучка. Учился из книг по Турбо Паскале и Ассемблере... стоп. Я отклоняюсь от темы. По этих книгах я учил язык, ане метод программирования. Это тоже самое, что выучить французкий алфавит и сразу пытатся проффесионально разговаривать по французки. Многие начинающие прогеры, при написании первых "в меру серьезных" програм совершают большую ошибку. Новичок, окрыленный идеей и кучей энтузиазма, набросавший несколько строчек будущего кода в голове, бросается в Турбо Паскаль, и... *цензура*. Вот я, например, когда садился за Турбу, имел столько энтузиазма, что аж руки тряслись, но в течении минуты этот самый энтузиазм падал ниже плинтуса. "С чего начать?", "Как "это" будет работать?", "С кем посоветоватся?" - вот какие вопросы возникают в это время в голове. После пяти минут просиживания переп компом я просто бросал свой "проект" и запускал Казаки, и это наверное у всех было (я не про Казаки ![]() Сейчас мне только 14 лет, может еще многого не знаю, но я буду старатся. Мне важны мнения всех. И побольше критики. Цитата:
Veytarn, хорошая мысль, но создание программы процесс творческий. Программист, он как поэт, но между прогером и поэто разница в том, что стихи поэта должны быть понятными для людей, а "стихи" прогера - для настольного калькулятора ![]() ЗЫ. ЗЫ куда-то убежало... ![]() |
||
![]() |
![]() |
![]() |
#6 |
Delphi/C++/C#
Участник клуба
Регистрация: 29.10.2006
Сообщений: 1,972
|
![]()
Вот-вот.. У меня те же проблемы.. Мысль в голове, кручу, верчу.. Опа! Всё понял как должно быть, сажусь за комп, прогерю день, два (конечно не без отрывно), а потом думаю: а на кой черт нужна эта прога?
Полностью доделаных прог у меня единицы (1-2), и то, это те проги, котрые мне очень нужны. Программы под заказ конечно делаются совсем по другому. Там нет таких мыслей: это нельзя сделать... как бы это обойти... Т.к. сроки коротки, сраза открываю справочник и прочее. Средние программы на заказ - за 1 день - это запросто, но если для себя... Конкретного алгоритма у меня нет при написании, хотя примерно иду по этим пунктам: 1) Набрасываю все компоненты которые нужны+размещаю их удобно 2) Начинаю по порядку обрабатывать события каждого из них (начинаю с кнопочек..) 3) если что-то не догоняю - справка+лит-ра 4) Полностью тестирую прогу (ввожу всё то что даже кошка не введёт, шагая по клаве..) 5) следую из 4 пункта обрабатываю искл. ситуации. 6) Работаю над красотой. 7) Убираю половину лишнего кода / оптимизиция 8) The End. |
![]() |
![]() |
![]() |
#7 |
Александр
Администратор
Регистрация: 28.10.2006
Сообщений: 17,630
|
![]()
Всё равно серьёзный проект требует каких-то записей. Иногда одними комментариями не обойтись. Вспомни потом где такая-то функция, нафика этот код и зачем нужна 1rn.dll .
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 11.01.2007
Сообщений: 12
|
![]()
Приветствую.
Философия обычно заканчивается, когда размер проекта превысит некий критический для 1 человека предел. Собственно, все методики разработки появились как раз для борьбы с этой фатальностью. Чтобы неуклонно продвигаться вперед, чтобы ускорить процесс за счет работы команды, чтобы сократить потери при внезапном изменении концепций... Кстати, предварительное проектирование действительно играет важную роль, НО... заранее всего не предусмотришь. Даже на небольших проектах частенько приходится возвращаться чуть ли не к уровню коррекции ТЗ. В ближайшее время я планирую попробовать коллективный проект по разработке одной полезной программки на Delphi. Кто хочет поучаствовать или понаблюдать - пишите! |
![]() |
![]() |
![]() |
#9 | |
Средний прогер
Форумчанин
Регистрация: 16.01.2007
Сообщений: 123
|
![]() Цитата:
Создаваемую программу нужно воспринимать как дом. Сначала создается фундамент - какрас проги, потом стены - функции, потом сверху ложится крыша - API, а потом можно и стены расскрасить, мебли поставить... Когда я начинаю кодинг, я в первую очередь пишу заголовки всех будущих функций, создаю типы, переменные. Когда все это сделано, я приступаю собственно к написанию тел функций. Пишу я их за алгоритмом "снизу-вверх" - сначала пишу самые маленькие функции, функции "низшего" уровня, и с их помощью уже клепаю более глобальные функции. Согласитесь, легче создать функцию загрузки карты с помощью трех-четырех обращений к "низшим" функциям, чем ов одном куске писать килобайты кода. По-моему, легче потратить полгода раздумий на создание своей техники, чем всю жизнь пользоватся какой-то чужой, хоть и популярной. "На своём велосипеде легче кататся". Но это не значит, что нужно игнорировать советы других. Я, например, знаю троих прогеров (в лицо), у которых апсолютно такой-же метод программинга как и у меня. У других нужно брать только полезное, а все остальное придет в виде опыта. Вот я например, много умного увидел в этой теме. Не останавливайтесь, пишите то как и что вы думаете на эту тему. ЗЫ. ЗЫ опять убежало ![]() |
|
![]() |
![]() |
![]() |
#10 |
promuovere
Пользователь
Регистрация: 09.12.2006
Сообщений: 95
|
![]()
Когда то слышал высказывание, про три степени мастерства: знание, умение и навык. В программировании это может касаться работы при реализации сформировавшейся идеи. На примере азбуки морзе: знание - просто знает шифр букв и цифр, умение - умеет правильно записать радиограмму на нормальной скорости, навык - принимает текст на бешеной скорости (нормальный человек даже не сможет отличить два абсолютно разных знака типа .._ _ и ._.) и с удивлением смотрит на руку, которая пишет радиограмму.
|
![]() |
![]() |