| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Флейм > Что для вас высший пилотаж в кодинге? |
| Автор: Delphi_Coder 25.4.2005, 09:49 |
| Сабж. |
| Автор: En_t_end 25.4.2005, 11:07 |
| Когда за день пишешь прогу, расчитанную на 2 недели, причем пропускаешь школу и подчти не спишь. |
| Автор: ~FoX~ 25.4.2005, 11:52 |
| В блокноте написать складскую прогу за 2-а дня. ИМХО круче некуда. |
| Автор: batigoal 25.4.2005, 13:40 |
| Для меня высший пилотаж в любой профессии - думать о работе только на работе, а потом уметь отключаться. |
| Автор: Irokez 25.4.2005, 13:45 |
| когда во сне снится код, просыпаешься и набиваешь его на компе |
| Автор: En_t_end 25.4.2005, 13:59 | ||
Менделеев. |
| Автор: 3,14 25.4.2005, 14:23 |
| Зависит от того что и на чём писать |
| Автор: De Gray 25.4.2005, 14:24 | ||
Действительно, нетривиальная мысль !!! З.Ы. Когда любое новое умение приобретается за 3-4 дня. |
| Автор: GoodBoy 25.4.2005, 15:16 |
| У меня один раз было так: грабанули хату и унесли комп, а курсач нужно было делать... Курсач был - написать на Пасквиле игрушку "морской бой". Естесстна с графикой... Ну я её на бумажечках за 2 недели написал, потом пришел в универ, набил на компе, подкорректировал ошибочки и сдал... :-))))))))))) |
| Автор: chipset 25.4.2005, 16:42 |
| Когда любую задачу можно решить минимум 10 путями, и что самое главное - ты таки знаешь какой из них лучший! |
| Автор: ManiaK 25.4.2005, 16:44 |
| А.. что такое кодинг?.. |
| Автор: batigoal 25.4.2005, 17:10 | ||
Вот это и есть высший пилотаж! |
| Автор: rsm 25.4.2005, 17:27 | ||
В моем понимании высший пилотаж это когда ухитряешься сделать на языке программирования то, для чего он совсем не предназначен. Это не значит что операционные системы следует писать на VBA, это значит когда делаешь какую-нибудь маленькую необычную фишку. Например, много ли найдется тех, кто догадается написать такой код:
Казалось бы что решение очевидно (передать вторым аргументом указатель на первый символ строки) но много ли программеров догадается так сделать? З.Ы. Давным-давно, когда компы были большими и хакерами называли не преступников а людей с нестандартным мышлением, специалистов в области своих интересов (совсем необязательно компов), был даже такой термин - hack (хак) - означавший какой-либо нестандартный прием. Вот это ИМХО как раз и есть "высший пилотаж". |
| Автор: Sardar 25.4.2005, 18:02 |
| rsm увы это называется "через Ж...", ИМХО далеко не всегда положительное качество программиста... |
| Автор: batigoal 25.4.2005, 18:12 |
| Через ж... тоже надо уметь, иногда приходится именно через нее к гландам тянуться... |
| Автор: Irokez 25.4.2005, 18:46 | ||
|
| Автор: Joes 25.4.2005, 18:52 |
| Умение впихнуть заказчику то, что ты умеешь, но что ему не нужно |
| Автор: batigoal 25.4.2005, 18:55 | ||
Не, это, конечно, хороший пилотаж, но не в кодинге. |
| Автор: De Gray 25.4.2005, 20:28 | ||
Напоминает "Что сдаем? Китайский...ладно сейчас докурю пойду сдавать". |
| Автор: maxim1000 25.4.2005, 23:04 |
| когда не думаешь о языковых конструкциях - просто пишешь то, что нужно как с разговорным языком: часто люди в начале обучения думают на родном, переводят на изучаемый, а потом говорят и наоборот а когда язык знаешь хорошо, мысли переводятся на него напрямую... |
| Автор: Domestic Cat 26.4.2005, 00:34 |
| когда пишешь понятный код |
| Автор: ManiaK 26.4.2005, 09:46 | ||
"Относительно меня... или вас?" © Эйнштейн vs. Иван Таранов |
| Автор: batigoal 26.4.2005, 10:05 | ||
В том-то и дело - относительно любого программера |
| Автор: ManiaK 26.4.2005, 12:15 | ||
Боюсь, проще будет подогнать всех программеров под шаблон, чем шаблон под свех программеров |
| Автор: batigoal 26.4.2005, 12:50 | ||
На это и направлены всякие Code Conventions, Design Patterns и т.д. |
| Автор: Aliance 26.4.2005, 15:28 |
| Т.к. я пишу на клиентском языке - то для меня высший пилотаж написать такой код, чтобы он работал везде ))) |
| Автор: AntonSaburov 26.4.2005, 15:38 | ||
Я бы еще добавил - когда чужой полный идиотизмов код превращаешь в нормальный и понятный другим. Вообщем рефакторинг - это высший пилотаж. |
| Автор: En_t_end 26.4.2005, 17:19 | ||
|
| Автор: Stampede 27.4.2005, 01:33 |
| Товарищи, вы все забываете одну важную весчь: в кодинге как таковом фана вообще нет и быть не может по определению. Это типа как композитора спросить, в чем для него высший пилотаж в записи нот Нет, конечно, приятно, когда код чистый, хорошо отформатированный, документированный, консистентный и конвенциональный. Но если система никудышная by design, то тут никакая красота оформления не спасет. Люди часто не понимают, что со времен КнутА произошел значительный сдвиг в парадигме программирования. Алгоритмы, несомненно, очень важны, тут никто не спорит, но сегодня хорошего архитекта можно отличить от плохого архитекта по тому, насколько loosely-coupled оказывается разработанныя им система. Потому что у хорошего архитекта система разработана в виде набора абстрактных лэйеров, которые взаимодействуют друг с другом посредством контракта, реализованного в форме общих (generic) APIs. Тогда если тебе нужно изменить формат вывода данных, или тип шифрования, или поменять среду хранения с БД на файлы, или обеспечить доступ через вэб сервис, или сделать авторизацию через LDAP, или сделать еще миллион возможных изменений, то все, что тебе нужно - это подтыкнуть соответствующую библиотеку через модуль интеграции - тонкий wrapper, написанный to the API твоей подсистемы. Но для этого нужно, что твоя программа была изначально задизайнена в интерфейсах. А для этого нужно представлять, на какие функциональные подсистемы ее нужно разбить, что при этом сделалть подтыкаемым и каковы должны быть точки интеграции. А этому всему формально научить практически невозможно, потому что для этого нужно собаку съесть и пудом соли закусить. И вот это вот как раз и есть для меня "высший пилотаж в кодинге", как изволил выразиться автор исходного топика |
| Автор: maxim1000 27.4.2005, 02:12 |
| есть две профессии: архитектор и программист это - профессии разные архитектор кодингом не занимается (если он занимается, значит, он по совместительству еще и программист кодинг представляет собой более низкий уровень - где-то около "записи нот" только, если учесть значительно большую сложность (по сравнению с нотами), этот более низкий уровень тоже, как ни странно, становится важным если программист будет подолгу думать над тем, в какой последовательности складывать числа, то проект не уложится ни в какие сроки, независимо от архитектора (помочь тут может разве что менеджер по кадрам |
| Автор: batigoal 27.4.2005, 12:26 |
| Stampede У тебя пока только четыре поста, зато все очень интересные. Но ради Бога, ПИШИ ПО-РУССКИ! |
| Автор: Stampede 27.4.2005, 14:52 | ||
У меня на это есть три замечания. 1. Первое, и самое главное: то, что архитект не занимается программированием, есть полный вздор. Он может не заниматься рутиной - но! Он всегда в поиске, он пробует новые продукты, он должен быть в состоянии быстро сваять прототип, он должен понимать, как и почему тот или иной подход лучше для данной конкретной задачи. Все это требует реальной повседневной практики; ее не заменишь надуванием щек и растопыриванием пальцев. Поэтому представление об эдаком "чистом" архитекте, который сидит себе, выдумывает концептуальные модели и мыслит абстрактными категориями - это больше из области сказок для домашних хозяек. 2. Если говорить о роли кодера, то да, это попкина роль, и она незавидна. Осмелюсь, однако, заметить, что все здесь присутствующие, осознают они это или не осознают, являются больше архитектами, нежели кодерами. Ты становишся кодером, когда тебе суют спеки, дают стандарты кодирования и приказывают копать от забора и до обеда. Но если ты единственный программист в конторе (что, как я подозреваю, имеет место быть в случае многих здешних обитателей), если ты разрабатываешь прогу от начала и до конца, если на тебе лежат все решения, связанные с ее структурой, то ты - уже архитект по определению. Это может звучать гордо, но это и поднимает планку требований. Между тем многие сообщения в этом топике выдают в авторах все еще кодерский тип мышления. 3. Даже если тебе не свезло в жизни, и тебя поставили заниматься тупым кодированием, запомни: плох тот кодер, который не мечтает стать архитектом |
| Автор: batigoal 27.4.2005, 15:04 |
| Stampede Спасибо, учел пожелания. Согласен с тобой, но все-таки не совсем. Разумеется, когда я пишу код не по спецификации, а по своему разумению, я его конструирую. Но ведь на мне не лежит тяжесть глобальных решений проекта - только мой локальный участок. Следовательно, я не архитектор, а кодер с определенной свободой действий. Мечтаю стать архитектором |
| Автор: maxim1000 27.4.2005, 17:52 | ||
согласен, плохо выразился архитектор должен иногда заниматься кодингом так же как и многие кодеры иногда занимаются вопросами архитектуры (в рамках своих заданий) я имел в виду, что архитектор - составляющая работы программиста, которая не имеет никакого отношения к кодированию в работе любого программиста есть обе составляющие то, что я говорил, правильнее было бы отнести не к конкретным людям/профессиям, а к этим составляющим |
| Автор: Vit 29.4.2005, 23:27 |
| Высший пилотаж, это когда ты написал 100000 строк кода, ушёл в отпуск, а другой программист при возникновении проблемы, при полном незнании кода при возникновении проблемы за 5 минут разобрался где проблема и смог её устранить. Когда сам открываешь свой код написанный 10 лет назад и совершенно ясно сразу понимаешь для чего написана каждая буква кода. |
| Автор: Domestic Cat 30.4.2005, 00:17 | ||
Вот это я и имел в виду. |
| Автор: Medved 30.4.2005, 10:12 |
| Разработка грамотной объектной модели приложения. |
| Автор: chipset 30.4.2005, 10:50 | ||
Это архитектура. Кодинг - ниже уровнем но не менее интересно |
| Автор: Medved 30.4.2005, 18:35 |
| Не соглашусь. Но это все имхо. Для каждого индивидуально. Мне кодить не так интересно. Больше привлекает разработка и само продумывание, чем непосредственный кодинг. |
| Автор: chipset 30.4.2005, 18:37 | ||
Угу, согласен |
| Автор: Azzdorf 20.2.2008, 23:41 | ||
или ты написал и забыл код, но при чистке мусора с компьютера находиш его и оптимизируя просто отлаживаеш в сторонку (одним словом - ты помниш как решил проблему, но твой мозг не успокоится пока проблема не будет решина красиво) |
| Автор: chipset 21.2.2008, 01:52 | ||
Высший пилотаж для меня это когда проблема решается вовремя и безукоризненно. На более низшем уровне это подразумевает точное знание своих сил и умение написать такой код, где любые баги устраняются моментально.
Как заметил _winnie с RSDN, знание эзотерики помогает при разгребании чужого херовонаписанного кода. Ух, а я бы лично хотел работать человеком который рефакторит старый код |
| Автор: JackYF 21.2.2008, 15:54 |
| Чтобы ни один кусок кода длиннее 5-6 лексем не был написан дважды в коде. Чтобы замена одного бэкэнда на другой решалась изменением двух строчек в исходнике и одной в мэйкфайле. Чтобы используемые в коде сущности были ортогональными по самое не могу. |
| Автор: Medved 21.2.2008, 19:21 |
| Быстрая и качественная реализация заданного участка кода. |
| Автор: Lazin 22.2.2008, 09:24 |
| Наверное это когда решаешь основную задачу, а потом оказывается что все остальные решились сами собой |
| Автор: Mayk 22.2.2008, 09:35 | ||||||
+145 по каждому пункту |
| Автор: MAKCim 22.2.2008, 10:18 |
| не совсем к коду относится, но все же получаешь истинное удовольствие, когда понимаешь, что ты действительно понимаешь что/как/где/почему... работает и можешь свободно оперировать этим пониманием для генерации новых идей и т. д |
| Автор: Nastya 22.2.2008, 10:25 |
| смотрите мою подпись |
| Автор: Nastya 22.2.2008, 11:35 |
| И еще, высший пилотаж показывают те, чьи продукты выходят в поле и живут там |
| Автор: Exception 22.2.2008, 18:01 | ||||
| Это когда код предельно понятен для человека, который видит его впервые. Добавлено через 4 минуты и 33 секунды
Я бы перефразировал: есть архитектор и программист, а совмещающий и то и другое -- разработчик. Хотя кому какая терминология нравится (моя тоже наверняка не вполне совпадает с общепринятой).
Да |
| Автор: DeamonShan 17.4.2008, 12:01 |
| Это когда, без забот и стреваний набираешь грамотно продуманный алгоритм.... как соченение.... а по скорости как диктант... |
| Автор: bars80080 17.4.2008, 12:35 |
| заказчиг смотрит на твой проект и говорит: "а мне надо по-другому, чтобы заход был с другой стороны, выборка по группам, а отчётность по всем вариантам". а ты ему: "подождите чуть-чуть". полчаса и вуаля, полное изменение системы. це гибкость проекта сказывается высший пилотаж это когда твой проект устойчив перед любыми изменениями, даже перед теми которые не предусмотрел |
| Автор: Veitmen 17.4.2008, 20:48 |
| Забавные высказывание. Особенно прикольно что некоторые очень далеки от кодинга как такового. Высший пилотаж в кодинге, это в первую очередь доскональное знание того как работают те или иные функции. Когда ты знаешь чем одна удобнее другой. Когда ты знаешь все синтаксические приколы языка. Когда ты знаешь какой формат кода является общепринятым для этого языка. Ты знаешь чем одни язык лучше другого. Если ты не знаешь как что то делать, тебе надо 15 мин и гугл. Если при создании программы ты видишь насквозь ее структуру и архитектуру. Ты знаешь большинство паттернов программирования. Если ты не знаешь точно как реализуется паттерн то ты все равно знаешь что он есть и когда его использовать. Если при начале какого то проекта ты начинаешь не с хардкодинга, а с проектирования приложения. Ты знаешь что такое UML, для тебя это не проблема. Когда ты берешься что то сделать, ты уже заранее знаешь сколько тебе надо времени и говоришь что надо чуть чуть больше, ведь ты опытный программист и ты понимаешь что спешить в этом деле нельзя. Если при виде любого исходника на родном тебе языке, тебе очень легко разобраться что эта программа делает, а если не легко тебе разобраться, то ты точно знаешь что это значит что программа написана очень коряво. Если твои знакомые, которые с тобой работают и являются востребованными специалистами в той же что и ты области, говорят что ты хороший программист. Если ты знаешь всех сколько нибудь значимых авторов, написавших хорошие публикации. Если ты точно понимаешь что программирование это творчество. И если ты творишь, то ты творишь с душой, и каждый кусок кода ты заботливо холишь и лелеешь, отлавливаешь малейшие возможные недочеты еще до того как они появились, но при этом ты ни разу не проваливал сроки. Если ты отвечаешь всем этим требованиям и ты понимаешь что ты делаешь, То может быть высший пилотаж в кодинге тебе присущ. |
| Автор: JackYF 17.4.2008, 23:00 |
| Veitmen, хорошо описал. Про UML, правда, согласиться не могу. |
| Автор: Veitmen 18.4.2008, 07:49 | ||
Почему?? Хотя может и загнул.) Но все же, если ты перед написанием кода не рисуешь хороших диаграмм, то программа пишется хуже.) Сей факт имеет место быть.) |
| Автор: chipset 18.4.2008, 08:46 | ||||
Agile с тобой не согласится. Часто начинающие разработчики перепроектируют приложение, вставляя паттерны где не попадя, заменяя вот такой кусок кода:
паттерном Strategy. ИМХО, высший пилотаж это уметь решать задачи быстро и при этом знать в каких местах нужно засунуть паттерн. Раскладывать на неделю задачу которую можно легко решить за день -- это пример человека который вычитал слово паттерн в википедии. |
| Автор: Veitmen 18.4.2008, 09:10 | ||
+1 Именно это я имел ввиду. |
| Автор: JackYF 18.4.2008, 09:47 | ||
Диаграммы - фигня, имхо. Как и блок-схемы и прочая бумажная фиготень. |
| Автор: chipset 18.4.2008, 10:04 | ||
Адназначна. Обрисовать ситуацию часто помогает листок бумаги но то что там скорее похоже на поток мыслей чем на диаграму. |
| Автор: Mayk 18.4.2008, 10:14 | ||||||||
не согласен с Veitmen'ом во многом, в частности:
ну и как работает fopen? идём копать libc? а ЗАЧЕМ? Заняцца больше нечем?
WTF is формат кода? Стиль отступов и названий переменных? Ну "общепринятого" "формата" в с++ никогда не было. У qt один формат, у стандарта - второй, у mfc - третий.
... то твоё видение на фиг никому не надо[в том числе и тебе], потому что завтра звонит заказчег и говорит всё передалать. ОЙ. Реальный мир жесток А ещё есть такое слово - прототипирование. Прототипы наверное придумали полные ламеры, раз они не могут видеть на сквозь структуру и архитектуру.
Не надо выдавать свои домыслы за факты. Нет такого факта. |
| Автор: Rififi 18.4.2008, 16:42 |
| когда выполнены http://msdn2.microsoft.com/ru-ru/magazine/cc163518.aspx |
| Автор: Veitmen 18.4.2008, 19:37 |
| Mayk, я с тобой готов поспорить. Либо ты не до конца понял что я имел ввиду. Что касается функций, знать их работу стоит. Это дает тебе преимущества при анализе. Тебе будет проще подобрать ту или иную функцию, с одинаковым функционалом но разной реализацией, для решения конкретно твоей задачи. libc я тоже не копал. Но уж фреймворк я копаю до сих пор. Получая много полезных знаний. Что касается формата, то и в C++ венгерская аннотация считается хорошим тоном? Разве нет? Про структуру и архитектуру я вообще промолчу. Что ты имеешь ввиду под тем и другим? При чем тут желания заказчика? Заказчик просит переделать функционал, а не код? Или у тебя не так? Диаграммы, хм... Возьмем простой пример. Делаешь ты БД. Диаграмму перед этим не рисуешь? Собалезную... Структуру своей программы ты не проектируешь перед началом разработки? Опять таки мне жаль. И это факт, который подтверждается опытом. Только я имею ввиду серьезные программные продукты. Готов услышать твои аргументы. |
| Автор: JackYF 18.4.2008, 20:59 | ||||
Нет. Кто тебе это сообщил? Да. А у нас другие факты. И тоже мы не первый день программируем. И? Добавлено через 1 минуту и 44 секунды
Не осуждаю, но статья - 90% воды. Остальные 10% - только улыбка на лице. Пусть сначала man gcc/g++ прочитают, прежде чем утверждать, что -Wall - это максимальный уровень предупреждений. |
| Автор: Veitmen 19.4.2008, 08:12 | ||||
Хм. Раньше я писал на C++, и точно знаю что венгерская аннотация считалась хорошим тоном. Сейчас пишу на C#, вот там она уже практически не используется.
Ну поэтому поводу я готов очень долго спорить. За что архитекторы тогда у вас деньги получают? |
| Автор: JackYF 19.4.2008, 12:25 |
Не во всякой организации есть чётко выделенные архитекторы ;) |
| Автор: batigoal 19.4.2008, 15:44 |
Это скорее ненормально, чем наоборот. |
| Автор: Veitmen 19.4.2008, 18:42 | ||
Совершенно верно. +1 |
| Автор: chipset 19.4.2008, 21:16 | ||||
У нас на работе увольняют людей которые пользуются венгерской нотацией. Она зло. ИМХО, самая стандартная нотация это boost/STL но везде по разному и это понятно ибо в многих местах есть legacy код и гораздо легче сменить нотацию Добавлено @ 21:18
В agile/scrum архитекторы не настолько важны как при классической методолгии. В частности, деление "архитектор/тупой кодер" отделяет архитектора от реальности (кодинга) а кодер не способен видеть всю систему из-за чего допустимы ляпы. |
| Автор: JackYF 19.4.2008, 21:21 |
Правильно применять то, что применимо в данный конкретный проект |
| Автор: Veitmen 20.4.2008, 07:21 |
| О чем тут спорить? Еще скажите что архитекторы не нужны! И еще одно, системный анализ и проектирование, нужны обязательно. О чем тут спорить то?И я так понял, что все хотят оспорит все и что бы приняли именно их точку зрения, потому что так можно самому себе доказать что в кодинге тебе присущ высший пилотаж? Ну я вот написал, и могу с уверенностью сказать что я еще далек от совершенства. Но мне кажется что именно те качества важны которые я перечислил, что бы высший пилотаж при кодинге, был рядом с тобой. Мы не найдем одну точку зрения, мы найдем верную, только собрав ее из многих точек зрения. |
| Автор: Veitmen 20.4.2008, 07:49 | ||
Ну я спорить здесь не буду. С этим я соласен. |
| Автор: W4FhLF 20.4.2008, 08:00 |
| Лично я стал смотреть на разработку ПО иначе после прочтения книги Стива Макконнелла "Совершенный код". Применять хотя бы треть из того, что написано там - уже огромный шаг навстречу гуру |
| Автор: chipset 20.4.2008, 09:37 |
| Насчёт венгерки. http://www.joelonsoftware.com/articles/Wrong.html |