LINUX.ORG.RU
ФорумTalks

Хочу стать художником-архитектором

 


0

1

Много говнокода я в жизни повидал, да чего уж там, я сам произвожу «плоский код». И ладно, если это скрипты в пределах 100 строк, хотя и там можно сделать красиво, по дзену...

Но всегда поражаюсь ребятам, которые берут уродские by-design языки программирования, типа PHP, и пишут красивые по своей архитектуре приложения, настоящие произведения искусства. Их код приятно читать, код понимаешь на лету, только и успевай бегать в редакторе кода от класса к классу, от функции к функции.
Они знают, что от чего логично отделить, какой код можно вынести в отдельную функцию.

Простой пример. Ты берешь и пишешь плоский говнокод на bash, как есть, просто не зная, что можно сделать вот так красивее:

#!/bin/sh

main() {

}

main "$@"

Ведь это сразу всё преображает.

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

В плоском коде, чтобы было красиво, ты пытаешься задавать имена переменным одинаковой длины, придержавясь некой стилистики, расставляя пустые строки между блоками if { } для пущей красоты и понятности...

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

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

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

★★★★★

Как говорил Линус, хороший программист думает о структурах, а не о коде.

Чтобы писать код как хочет ТС достаточно научится абстрагироваться от ЯП и писать тот код, который хочется. Пример с main тому доказательство. В скрипте на 300-500 строк этот main окажется только лишним, имхо, по личному опыту.

gh0stwizard ★★★★★
()

Даже зная ЯП как свои пять пальцев, всякие секретные финты ушами о которых не пишут в учебниках, — продолжаешь писать говнокод

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

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

Почему никто не хочет стать инженером

дык я инженер-программист, но да не хотел 8)

Deleted
()

Художник-архитектор в отличие от эникея имеет карьерные и финансовые перспективы.

Чуть лучше - кодер на Це/Це-плас-плас, но это тоже карьерный тупик.

(Особенно «невыездные», беззагранпаспортные, работающие в шарашках.)

Как бесперспективны в офисе «программисты» на скриптовых недоязычках типа педона, перла, пых-пыха и т.п..

Сисадмин («эникей») - это приговор - пруф -

http://saradmin.ru/?p=119

(В ДС ситуация у эникеев не лучше, а по сравнению с людьми, имеющими нормальную работу, даже хуже.)

Bioreactor ★★★★★
()
Последнее исправление: Bioreactor (всего исправлений: 1)
Ответ на: комментарий от r_asian

Ну я «инженер-программист». К счастью, я прикладной программист со знанием предметной области, а не кульхацкер.

Строителем было престижно работать в СССР, ибо легче, чем «аппаратному работнику» было выехать за рубеж.

Правда, выезжали строители в развивающиеся страны, типа помогать строить «социализм» всяким арапчегам.

Особенно ценились специалисты в строительстве объектов нефтегазовой отрасли.

Зато и отоваривался я на официально полученные чеки ВТБ в «Берёзке», ибо родитель у меня был работягой, а не совком-инженеришкой.

-------

Для справки. Кастовая система в СССР была следующей

1. Номенкулатура (партаппаратчики, директора, крупные торговые представители, дипломаты, «заслуженные деятели» науки и искусства и военные - начиная с полковника)

2. Работяги (как «индустриальные» - строители, слесари, водители, нефтяники, так и «работники прилавков»)

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

4. Интеллигенция.

На низшей ступени - НИИшные инженеришки, м.н.с.'ы и прочие «неприкасаемые».

Bioreactor ★★★★★
()
Последнее исправление: Bioreactor (всего исправлений: 2)

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

Видимо php кажется тебе уродским потому что ты правильно чувствуешь.

имена переменным одинаковой длины

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

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

В скрипте на 300-500 строк этот main окажется только лишним, имхо, по личному опыту.

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

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

Ну, посыл в том, что main() просто теряется в этих строках. С учетом того, что sh работает с пред-определенными функциями (определение функции должно быть раньше вызова) main() будет в самом конце. Или надо ползти в конец, чтобы увидеть что передается main «$@» или что-то иное. Как-то так.

gh0stwizard ★★★★★
()
Последнее исправление: gh0stwizard (всего исправлений: 1)
20 августа 2016 г.

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

поэтому фтопку.
сразу команды, сразу гвоздями ко всему.

и да, вспоминай rc.* скрипты в РедХате, до системд.
там такоэээээ О_О

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