LINUX.ORG.RU
ФорумTalks

Как вы пишете код?


0

2

Привет всем! :)

Ребят, как вы код пишете? Просто садитесь и пишете? Я вот прежде чем написать какую-нибудь функцию, хожу думаю, пока в голове не сложится. Иногда на это весь день уходит. Причем события в жизни, они же как прерывания, возникают сами по себе, когда им вздумается, хочешь ты этого или нет. Вот и приходится, то на мэйл отвечать, то по телефону поговорить... Это все замедляет процесс программирования и обдумывания кода.

В общем, как программировать быстрее?

★★★★★

Ответ на: комментарий от KRoN73

> Не могу писать, когда заставляют. Даже если заставляет нужда. Зато

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

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


Эффективность ниже, чем чисто для себя, но хоть деньги платят



Аналогично. Неделями пишу какой-нибудь интересный мне код,
который может пригодиться через пару лет в какой-нибудь шабашке.
Иначе себя работать уже не заставить. Нет того «пылу», когда
для работы было достаточно распоряжения начальника.

Обычно покушаю что-нибудь вкусное, возьму с собой чай, и сижу - пишу,
придумываю что-нибудь. Сегодня вот реализовал параллельный вывод
двух звуков через OpenAL. Если победю лень - напишу еще и для OGG
(сейчас читаются через alut WAV'ки).

pacify ★★★★★
()
Ответ на: комментарий от KRoN73

> Зато для себя могу писать почти в любых условиях

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

Deleted
()
Ответ на: комментарий от aiqu6Ait

У мну есть трёхлетний долгострой ))) Завтраками кормлю

Deleted
()
Ответ на: комментарий от Andru

>ТЗ должно быть четко определено

Вот именно. К сожалению, моё начальство далеко не всегда адекватно формулирует ТЗ.

Deleted
()

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

Nagwal ★★★★
()
Ответ на: комментарий от Deleted

У меня начальство все хорошо формулирует, но с третьего пинка. Пока не пнешь, считает, что все и так очевидно, приходится инфу или вытаскивать клещами, или...

valich ★★★
()

Врубаю музон ритмичный(что то вроде грув метала), отключаю телефон, и начинаю на листке псевдокодить, после первого наброска компиляю, и снова - пачкаю лист и компиляю. Музон тут важен, без музыки процесс идёт медленнее.

aptyp ★★★★
()
Ответ на: комментарий от Zhbert

Аналогично делаю, правда Crematory не слушал. И всё таки не смог бы работать под St.Anger или Black Album, больно уж подпевать хочется во втором случае, и больно медленно в первом.

aptyp ★★★★
()
Ответ на: комментарий от Deleted

Вот именно. К сожалению, моё начальство далеко не всегда адекватно формулирует ТЗ.

Увы, ты такой не один... :)

Andru ★★★★
()
Ответ на: комментарий от stevejobs

=) Не знаю, обычно во время принятия веществ производительность нулевая, и ЛОР в это время загружается)

aptyp ★★★★
()
Ответ на: комментарий от KRoN73

>Давно уже подсчитано, что прерывание, вызывающее полное переключение контекста программиста, даже если оно всего на считанные секунды было, приводит к потере, в среднем, 20 минут работы. Программист обычно перед началом работы грузит в себя контекст задачи на 100% своих возможностей. Любое прерывание приводит к утере контекста.

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

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

aptyp ★★★★
()
Ответ на: комментарий от KRoN73

Надо яваскрипт,alert выводящий со всё возрастающей скоростью) Не так же часто в заголовки смотрим,не?

aptyp ★★★★
()
Ответ на: комментарий от unC0Rr

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

aptyp ★★★★
()
Ответ на: комментарий от Gudvin

> Сначала анализирую задачу,потом прикидываю варианты решения и наконец пишу код,пока не дойду до тупика. И снова повторяю те же действия.

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

pevzi ★★★★★
()
Ответ на: комментарий от KRoN73

>>Просто садитесь и пишете?

Нет. Долго собираюсь с духом и настроением, сижу на форумах и т.п., пока не «вставит».


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

pevzi ★★★★★
()
Ответ на: комментарий от Tark

> Еще заметил, что рано утром более простые решения в голову приходят.

Ага, как-то с вечера^W ночи написал кусочек кода. Потом как утром проснулся, внезапно понял какую же я фигню там сделал -_-

pevzi ★★★★★
()

Должна быть идея того, что нужно написать. Потом — размышления различной продолжительности, как эту идею встроить в существующий код покрасивее или, если писать с нуля, то как наиболее стройным образом реализовать её изначально так, чтобы потом не было мучительно больно. Часто строчки кода складываются перед глазами сами. В любом случае, стараюсь исходить из целесообразности того или иного куска кода, чтобы не было лишнего и смотрелось органично.

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

post-factum ★★★★★
()
Ответ на: комментарий от aptyp

>Ты будешь первым петросяном =)

Неа, не буду.

Zhbert ★★★★★
()

Если я примерно представляю, что нужно написать, я сажусь и пишу так, как думаю, с полным наплевательством на правильность и оптимальность, и добиваюсь того, чтобы оно работало. Затем, если сейчас есть время на это, начинается небыстрый рефакторинг, после которого код сокращается примерно на 2/3. А затем начинается дебаг, чтобы исправить все, что я мог испортить при рефакторинге.

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

Есть три основных milestone'а: 1) вау, оно работает, 2) оно работает так, как от него требуют и 3) оно работает так, как надо. Четвертый milestone оно работает красиво опционален.

// Хотя я не всегда так пишу, это идеальная модель. В жизни часто приходится заниматься ее редукцией. =)

zhuravlik ★★★★
()
Ответ на: комментарий от Yareg

Я тебе сразу посоветую песни, самые ИМХО прочищающие мозг - Fly, The Fallen, Tick Tack.

Zhbert ★★★★★
()
Ответ на: комментарий от KRoN73

>Для меня идеальный вариант - подвал без Интернета,

ноу-ноу-ноу))) Незнаю на сколько надо знать технологии чтоб без интернета писать хоть какую-то, но сложную программу. Во время кодинга я частенько гуглю) А в линуксе.. ну какие тут игры? :D

chinarulezzz ★★
()
Ответ на: комментарий от chinarulezzz

>Во время кодинга я частенько гуглю)

Ну, google можно оставить :)

А в линуксе.. ну какие тут игры? :D


Да хоть те же браузерные :)

KRoN73 ★★★★★
()
Ответ на: комментарий от post-factum

>Особенно хорошо пишется под Nightwish.

+1000)) Энергично. Хотя часто ловлю себя на мысли что музыку слушаю лишь до момента концентрации. Потом она не воспринимается, задача поглощает)

chinarulezzz ★★
()
Ответ на: комментарий от KRoN73

а почему подвал? Иногда надо так чтоб два-три шага сделал - ты на улице,подышал свежим воздухом 2-3 минуты, зашел обратно кодить. Или просто выглянул в окно, посмотрел.. подумал, вернулся к задаче. Так что подвал тоже вычеркивай))))

Вот самое мотивированное - напарник по уровню.

P.S. где-то проскакивала книга про экстремальному программированию, кто-то читал? Какая методика?

chinarulezzz ★★
()
Ответ на: комментарий от chinarulezzz

>а почему подвал?

Чтобы из-за окон ничего не отвлекало :)

де-то проскакивала книга про экстремальному программированию, кто-то читал?


Не читал, но одобряю :) Наслышан.

KRoN73 ★★★★★
()
Ответ на: комментарий от chinarulezzz

>+1000)) Энергично.

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

KRoN73 ★★★★★
()
Ответ на: комментарий от chinarulezzz

Ну первую прогу (реализацию Sokoban для Spectrum, с символьной но весьма здравой гарфикой - пришлось нарисовать шрифт) написал вообще не зная слова инет в 1993 году.

Правда был один косяк - у меня был журнал с обзором игры и скриншоты первых 2 уровней. Уровней дальше я придумать не смог а для написания автогенератора не хватило знаний, хотя долго вынашивал эту мысль.

Пишу именно так как в вопросе ТС - Просто сажусь и пишу. Сначало полный примитив - минимум кода, минимум функций, максимум констант и коментариев. В этот момент одна мысль - как бы заставить это работать.

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

Suntechnic ★★★★★
()
Ответ на: комментарий от Suntechnic

>Ну первую прогу (реализацию Sokoban для Spectrum, с символьной но весьма здравой гарфикой - пришлось нарисовать шрифт) написал вообще не зная слова инет в 1993 году.

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

Потом начинаю обвешивать функционалом и иногда не могу остановиться, если в ударе.

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

chinarulezzz ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.