LINUX.ORG.RU
ФорумTalks

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


0

2

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

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

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

★★★★★

аналогичные проблемы (

stevejobs ★★★★☆
()

Меня вот наоборот, программирование отрывает от всей остальной жизни, ЧЯДНТ?

derlafff ★★★★★
()

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

Хотел бы я знать :)

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

Eddy_Em ☆☆☆☆☆
()

Та же ерунда. Сяду за комп с целью написать кусок кода, но сразу же тянет на лор, еще куда, музло послушать... Зато экспериментальным путем было выявлено, что лучше всего думается и пишется код под металлику или Crematory.

Zhbert ★★★★★
()

Примерно как ты, да. К тому же мой код в основном «для себя», так что думать можно больше (например, думаю пока борюсь с ленью)

different_thing
()

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

Tark ★★
()

не поднимаю трубку. Ужасно бесит когда сидишь напряженный, думаешь, и вдруг звонок телефона. Аж вздрагиваю. Хочется послать всех далеко и надолго. На звонки друзей вообще не отвечаю, людей по делу - через раз, если сильно упорные. И родителям отвечу, объясню что сегодня у меня пмс и меня лучше не трогать.

процесс написания кода ужасно напряженный, надо что-то решать...

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

И еще - если на лоре сильно затянул какой-то быстроразрастающийся тред, то чтобы прочистить от него мозги до полностью адекватного состояния и смочь думать над кодом - опять таки помогает Crematory, на всю катушку включенная в наушниках. 10 минут слушаешь и потом код из тебя льется как из ведра, причем решаются такие алгоритмы, которые не мог придумать до этого неделю.

Zhbert ★★★★★
()

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


Я делаю так:
1) беру бумажку и выписываю на ней все что относится к теме размышлений.
(как правило это оказывается некая схема)
2) составляю список вопросов
(на схеме как правило есть непонятные места)
3) все вопросы сразу задаю туда, где мне кажется могут ответить
4) не ожидая ответов приоретизирую вопросы и начинаю разбираться с самого приоритетного самостоятельно
5) имея новые знания повторяю процесс начиная с пункта 1.

Все листы А4 использованные в процессе я нумерую,
и когда меня прерывают, я потом могу восстановить ход мысли, просмотрев их по порядку.

Недостаток - в том что все на бумаге. Собираюсь освоить сканирование и ebook, но пока не освоил.

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

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

different_thing
()

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

aiqu6Ait ★★★★
()

у меня это происходит почему-то в обратном порядке, т.е. я отвечаю на мейл или разговаривю по телефону и тут бац(!) и становится понятно что надо написать.

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

>у меня это происходит почему-то в обратном порядке, т.е. я отвечаю на мейл или разговаривю по телефону и тут бац(!) и становится понятно что надо написать.

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

Zhbert ★★★★★
()

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

Gudvin
()

В принципе та же фигня. Чтобы уйти с головой в программинг, ТЗ должно быть четко определено и вся архитектура должна быть более-менее продумана. И да, все это не должно быть тупой скучной рутиной :) Тогда внешние факторы не особо отвлекают. А если все скучно, мешает что-то «внешне», то да... тут уже сложно программить чего-нить. Процесс ведь творческий, фигли :)

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

Да, с бумагой тоже +1. Причем там иногда такой бред бывает ))) но зато помогает в мозгах порядок наводить.

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

>Да, с бумагой тоже +1. Причем там иногда такой бред бывает ))) но зато помогает в мозгах порядок наводить.

Я как через мечяц глянул свой блокнот с пометками и зарисовками кода и алгоритмов. Ужаснулся, ничего не понял и отложил до следующей надобности =)

Zhbert ★★★★★
()

Зависит от сложности задачи. Если нужно продумать алгоритм или протестировать несколько ситуация на правильную работу, то рисую их на бумаге, обычно хватает одного листа А4. Когда задача решена, то листок выбрасывается, дабы не создавать много мусора %)

UVV ★★★★★
()

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

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

PS: Программировать очень быстро может только тот, кто полностью формализовал свой график жизни. Это сложно, и не каждый захочет так жить:)

ixrws ★★★
()

И вообще, я пишу код охрененно.

Tark ★★
()

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

man unified process, алсо читай книгу вот эту

для Ъ: сначала описываешь что хочется сделать, причём рабоче-крестьянские языком, а потом уже не думаешь - садишься и делаешь

shty ★★★★★
()

По сабжу, есть хорошая книжка «Coders at Work» =) Этим летом вышла. Гуглится пдф-ник, но только на языке потенциального захватчика.

stevejobs ★★★★☆
()

>Я вот прежде чем написать какую-нибудь функцию, хожу думаю, пока в голове не сложится. Иногда на это весь день уходит.

Завязывай с этим, а то уволят.

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

ttnl ★★★★★
()

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

Yareg ★★★
()

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

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

>А почему никто не написал про вещества?

Cola же! Ну или кофе...

Yareg ★★★
()

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

Loki13 ★★★★★
()

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

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

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


Я, вот, как-то о всех своих функциях круглые сутки думаю :D

Вот и приходится, то на мэйл отвечать, то по телефону поговорить...


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

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

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


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

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

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

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

У меня сейчас процентов 80 времени уходит на то, чтобы придумать, как красиво и эффективно написать мои 20 строк кода за день работы.

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

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

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

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

>А почему никто не написал про вещества?

Бутылка Колы на столе, банка Адреналина-раша в сумке :)

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

>Собираюсь освоить сканирование

Фотографировать несравнимо быстрее и удобнее.

KRoN73 ★★★★★
()

По аналогии((

Мож и есть хуцкеры, кто с ходу пишет распределённые системы, я не из их числа. С ходу получается только админить))

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

Тут пишут про нинужные инет и телефон. Пробовал. Не помогает.

Deleted
()

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

Нужно рисовать диаграммки и сначала прилично подумать над тем, что нужно сделать. После грамотного обдумывания и обрисовывания код пишется значительно быстрее и с первого раза, так что отлаживать его приходится преимущественно от синтаксических ошибок и мелких алгоритмических (пару знаков забыл/лишних поставил).

Terrens
()
Ответ на: комментарий от StrongDollar

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

Думаю над этим давно. Пока никак не соберусь.

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

>И еще - если на лоре сильно затянул какой-то быстроразрастающийся тред

Где-то у меня скрипт валялся, который, если открыто окно, в заголовке которого есть «Форум - Talks» раз в час писал: «быстро работать!»

Не помогло :D

KRoN73 ★★★★★
()

На пхп - с фэйспалмами.

Ставлю конкретную цель (фичу), сажусь, пишу.

wyldrodney
()
Ответ на: комментарий от Terrens

>Нужно рисовать диаграммки и сначала прилично подумать над тем, что нужно сделать

Меня когда-то достала эта необходимость. И я, основываясь на Thinking Forth сделал систему, все необходимые для текущей работы компоненты которой разом укладываются в голове :) Так что теперь, когда встаёт задача написать тот или иной компонент, я просто собираю в голове 7±2 нужных компонента и увязываю их соответствующим же количеством строк. Потом пишется немного обвязки, которая уже не зависит от структуры - и готов результат.

...

Диаграммы сейчас редко больше пары раз в год рисую.

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

>не поднимаю трубку. Ужасно бесит когда сидишь напряженный, думаешь, и вдруг звонок телефона

Мне проще поднять трубку и рявкнуть туда, чем потом сидеть и думать «а кто же это звонил, а вдруг что-то важное...» Такие раздумья работать мешают больше самого звонка :D

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

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

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

KRoN73 ★★★★★
()

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

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

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

stevejobs ★★★★☆
()

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

smh ★★★
()

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

ArtemZ
()

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

backbone ★★★★★
()

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

KERNEL_PANIC ★★★
()

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

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