как становятся хорошими программистами?

chriselwart

Привет. В общем я для себя периодически пишу всякие мелкие проги/скрипты. Хочется в некотором смысле повысить квалификацию и сделать так, чтобы на мой код было приятно смотреть (прежде всего мне). Я вот листаю код всяких крутых чуваков и он мне нравится, но я не всегда понимаю почему они написали так, а не иначе. Некоторые вещи мне кажутся черезчур хитровыебнутыми (ну т.е. я бы проще написал, но не факт, что правильнее).Как приходят к просветлению в данном случае? Книжки типа Совершенного кода несколько раз пытался читать, там этого нет, к тому же по мне это унылое чтиво.Прогаю на питоне/джанге. Хочу вот красивый проект сделать, а мысли в голове (в общем то здравые) не хотят превращаться в красивый код.

spitfire

Конечно же,

spitfire

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

Bibi

all code sucks

Rudidis

Сделай какую-нибудь крутую фишку для опенсорс-проекта, где жостко следят за адекватным дизайном, стилем и читаемостью кода, я из таких знаю FFMpeg.
Крутую — чтобы она была нужна и с её говнокодистой реализацией не послали бы сразу, а рассказали бы, что ты делаешь не так.
Ну или сходи интерном в Google, если есть время.

chriselwart

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

vall

больше думать и никуда не спешить, постепенно число итераций переписывания будет уменьшаться

chriselwart

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

volkov55

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

volkov55

И да, мелкие проги и скрипты плохи тем, что они - write only. То есть написал, и забыл, поддерживать не нужно.

chriselwart

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

rosali

> конкретный код в конкретной функции не удовлетворяет
это с возрастом пройдет :p

chriselwart

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

bansek

Погугли code kata

SergeRRRRRR

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

val63

1) Дочитай Макконнелла (мне одному он кажется интересной книжкой?).
2) Прочитай овер 9000 других книжек.
3) Прогай много в разных областях.
Ах да, выбрось питон и юзай интеллиж идею или решарпер.

snega25

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

rosali

> чувство прекрасного стоит в себе убить?
Нет конешно, чувство прекрасного это прекрасно :) Просто оно должно подняться на другой уровень, архитектурный. Хорошая программа это когда, чтобы сделать в ней небольшое улучшение, нужно поразбираться полчасика и поправить/дописать 20 строк в нужном месте. А плохая, это когда по каждой мелочи приходится все переписывать, перекраивать интерфейсы и прочее. Чувство прекрасного должно быть направлено именно вот на эту разницу. А конкретный код конкретной функции, ну какая ей богу разница.

Sachaa

Больше программируй.
А хороший программист — это, наверное, тот, который может из плохого кода сделать хороший.

Bibi

First you have to garden, then join the community of gardeners, then teach others to garden. Then you are a gardener.
Оставить комментарий
Имя или ник:
Комментарий: