Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как все было на самом деле: итог трех тем
|
|||
|---|---|---|---|
|
#18+
> то, как я вижу эту тему сейчас и то как я видел её в начале самой первой темы, > когда создавал это были два разных человека... Так хорошо, какие же уроки ты вынес для себя ? Про Downcast я вроде бы понял, про указатели -- открыл smart_ptr, ещё что-то ? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2012, 02:10 |
|
||
|
Как все было на самом деле: итог трех тем
|
|||
|---|---|---|---|
|
#18+
> Архитектура которая допускает такое ни от чего вообще не застрахована: > > B* b = (B*)new A; А извините, какая архитектура от такого может застраховать ? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2012, 02:11 |
|
||
|
Как все было на самом деле: итог трех тем
|
|||
|---|---|---|---|
|
#18+
> на всякий случай ещё раз явно заявлю: *теперь я и моя команда знаем, что вот так > делать нельзя* > > B* b = (B*)new A; Блин, а как же вы дожили-то до сего дня, программируючи ? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2012, 02:15 |
|
||
|
Как все было на самом деле: итог трех тем
|
|||
|---|---|---|---|
|
#18+
MasterZivБлин, а как же вы дожили-то до сего дня, программируючи ? До этого хотелки умещались в рамки приличия )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2012, 03:17 |
|
||
|
Как все было на самом деле: итог трех тем
|
|||
|---|---|---|---|
|
#18+
MasterZiv > Архитектура которая допускает такое ни от чего вообще не застрахована: > > B* b = (B*)new A; А извините, какая архитектура от такого может застраховать ? Под "допускает" я имел в виду не "разрешает", а "предусматривает", т.е. является частью АПИ. Предотвратить конечно сложно, но в нормальной архтектуре такие касты появляются только из-за ошибок кодирования, и по идее ловятся статическими анализаторами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2012, 05:12 |
|
||
|
Как все было на самом деле: итог трех тем
|
|||
|---|---|---|---|
|
#18+
Для такой постановкиКонечно не найдешь потому, что не бывает :) Из A автоматически сделать B - это как автоматически из 100 рублей сделать 100 000 рублей. МММ?? МЛМ?? Форекс?? ))))) шутка... кстати, я ещё заодно подразобрался, что в пхп меджик метод __clone() тоже не является true, т.е. не делает глубоких копий Для такой постановкито пиши конструктор B(A &a) { и тут копирование членов из a } Для такой постановки больше вариантов нет. да, на данный момент и данный уровень квалификации я тоже вижу только такой вариант но он не подходит с экономико-организационно-временнОй точки зрения, проще говоря никто из пользователей не станет этого делать. это все равно что когда есть дата-мембер string title вручную прописывать string title(); void setTitle(string); ну сейчас я это понимаю... а когда только создавал тему то я вообще не знал, что все в итоге упрется в глубокое копирование, ну и не знал я, что глубокое копирование это такая сложная, муторная и противная задача Успех - это способность идти от одной неудачи к другой без потери энтузиазма. (с) Уинстон Черчилль так что главное энтузиазм не терять))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2012, 08:58 |
|
||
|
Как все было на самом деле: итог трех тем
|
|||
|---|---|---|---|
|
#18+
MasterZivOn 12/14/2012 08:05 PM, Lumix wrote: > так вот в чем тут завидовать мне я вообще не вижу... > тут ребята тусуются с квалификацией ИТМО и стажем 15 тыс. часов в профессии > это наоборот я должен им завидовать!! Это что ж у моего института такая слава ? если в екб программист получает 100-120 тыс. / мес. это значит, что он воооооообще каппетц какой гуру (ну менеджерские зарплаты не в счет, у руководителей проектов з/п могут быть очень высокие, но такие управленцы как правило перестают писать код вообще) а самый задрипанный выпускник ИТМО только сам диалог с работодателем может начинать от 150 тыс. руб. / мес., а прокаченные ИТМОвцы начинают диалог с 300 тыс. руб. / мес. и на них ещё и хедхантятся постоянно и з/п в 500 тыс. руб. / мес. для прокаченного заскилованного ИТМОвца это в порядке вещей... ну и таким как я личное общение с выпускниками ИТМО очень опасно, потому что все это скорее всего закончится огромным комплексом неполноценности и ощущением, что я полное дерьмо и даже не ноль, а -11.)))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2012, 09:07 |
|
||
|
Как все было на самом деле: итог трех тем
|
|||
|---|---|---|---|
|
#18+
MasterZivПродолжая аналогию, ты у нас примерно следующее спрашивал: как рисовать мех крокодила ? как рисовать блик от стакана ртути ? как нарисовать преломнение на границе кислород-хлор ? для хохмы MasterZiv как рисовать мех крокодила ? MasterZivкак рисовать блик от стакана ртути ? MasterZivкак нарисовать преломнение на границе кислород-хлор ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2012, 09:16 |
|
||
|
Как все было на самом деле: итог трех тем
|
|||
|---|---|---|---|
|
#18+
MasterZiv > то, как я вижу эту тему сейчас и то как я видел её в начале самой первой темы, > когда создавал это были два разных человека... Так хорошо, какие же уроки ты вынес для себя ? Про Downcast я вроде бы понял, про указатели -- открыл smart_ptr, ещё что-то ? смартпоинтеры я знал до этого и всегда думал, что они являются страховкой для автодропа локальных динамически созданных объектов на куче на случай непредвиденного выхода из локальной области видимости, например по исключению или если кто-то по дурости решит заретурниться прямо по ходу ну а поскольку в нашей архитектуре локальные объекты на куче никто не использует, а стековые объекты сами убиваются при выходе из локальной области видимости, то смартпоинтерами мы никогда не пользовались тут я впервые познакомился с сутью шаредпоинтеров, которые позволяют забыть про межфукциональную границу, которой я всегда боялся, потому что можно было ненароком нарваться на копию вместо самого объекта раньше я для таких случаев считал панацеей только указатели, а тут впервые оказалось, что можно получить тот же профит, но работать со объектом, а когда на "сцене" появляется объект, то значит мы можем работать с перегрузкой операторов правда перегружать оператор =() для стандартного шарепоинта это пока тоже очень страшная процедура. страшно не в том, чтобы его перегрузить спорта ради, а я ведь пишу библиотечный макрос общего пользования, который работает скрытно для пользователей и поэтому важно находить бронь-солюшен, который будет работать всегда и для всех объектов и в дождь, и в снег, а перегрузка шарепоинта таит в себе риски... по крайней мере, когда её выполняет человек с моей квалификацией))) кроме того я понял, что указатели вообще нифига не могут, хотя я раньше думал, что указатели это такие же объекты как и все остальные и что им тоже можно пришивать некий функционал, например перегруженный оператор=() и соотв. кастомизировать его поведение как мне хочется... почему я так всегда думал? потому что я знал, что указатели инкрементируются на ширину объекта, а не на единицу памяти (адресного пространства), вот я и подумал, что под капотом плюсов они есть самостоятельный объект, который можно перегрузить. а оказалось, что указатели не перегружаются... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. но разумеется про кастинг это самые яркие открытия и самая яркая печаль!!!! я всю жизнь думал, что сишный кастинг создает дефолтный объект в который мы кастим. я знаю будете смеяться, но я всегда думал, что эти две строчки эквивалентны, только во втором случае ещё и все нулями заполняется по дефолту Код: plaintext 1. 2. ну и соотв. я всегда думал, что когда мы кастим объект меньшего размера, то он просто с самого начала создает объект, который кастим, а оверхед заполняет дефолтными значениями и разумеется я был уверен, что этот кастинг и все объекты, которые хранятся через указатель тоже автоматически создаются))) а сейчас я понял, что сишный кастинг это нифига не крутой сервис, а так... игрушка... короче, очень нехило так я за эти несколько дней от иллюзий поизбавлялся...))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2012, 10:01 |
|
||
|
Как все было на самом деле: итог трех тем
|
|||
|---|---|---|---|
|
#18+
MasterZiv > на всякий случай ещё раз явно заявлю: *теперь я и моя команда знаем, что вот так > делать нельзя* > > B* b = (B*)new A; Блин, а как же вы дожили-то до сего дня, программируючи ? вы не представляете на что способен энтузиазм фанатично преданных делу людей!!)) ну на самом деле объяснение наверное простое: а) мы работаем только в прикладной сфере и не пишем ничего системного, да и все прикладные проекты с точки зрения вообще профессии являются простейшими например один из критериев простоты наших проектов - это то, что знание математики у нас используется на уровне калькулятора, даже не инженерного))) б) мы используем фреймворки, готовые библиотеки и опенсорсные решения и т.п. Edd.DragonMasterZivБлин, а как же вы дожили-то до сего дня, программируючи ? До этого хотелки умещались в рамки приличия )) ну да, что-то типа того условно говоря, наша команда это живой пример того, как далеко можно уехать на одной только "с++ для чайников"))) но конечно рано или поздно наступает потолок и тогда на форуме появляются всякие "темы" типа кастинг вверх и все такое))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2012, 10:11 |
|
||
|
Как все было на самом деле: итог трех тем
|
|||
|---|---|---|---|
|
#18+
MasterZiv > Архитектура которая допускает такое ни от чего вообще не застрахована: > > B* b = (B*)new A; А извините, какая архитектура от такого может застраховать ? Принципиальный запрет кастингов и запрет использования new на пользовательском уровне. если кто-то что-то сам закастил или сам создал объект на куче, значит штраф ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2012, 10:14 |
|
||
|
Как все было на самом деле: итог трех тем
|
|||
|---|---|---|---|
|
#18+
ДохтаРМожно по другому ответить, -Ближайший магазин 50 метров прямо , за углом на право еще 20 метров. Овечающий ответил правильно оптимально и максимально быстро . Только нужна была булочная, а за углом галантерея-косметика. Меня забавляет когда отвечают сходу что ошибка в 17-й строке. Притом что исходник в студию еще не занесли. Однако это заставляет ТС-а слега задуматься о бренности сущестования. Вот такие пирожки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2012, 15:53 |
|
||
|
Как все было на самом деле: итог трех тем
|
|||
|---|---|---|---|
|
#18+
Lumixно разумеется про кастинг это самые яркие открытия и самая яркая печаль!!!! Ну а почему открытие то? Вот у тебя родитель занимает 100 байт. А наследник - 200 байт. Ты раз сто переспросил, а какую память я захвачу этими лишними 100 байтами, которые не выделялись. Ну вот что за вопрос? Поставь себя на место менеджера памяти. Тебя попросили выделить 100 байт - ты выделил. При этом ты что, зная будущее, зарезервировал 100 байт, потому что, кто-то закастит что-то? А почему 100? А если закастят на 1000 лишних байт? А если на 100 метров лишнего пространства понадобится? Так какую память захватит твой каст? Свободную, занятую или вообще такую, при обращении к которой вылетит ошибка доступа? Открыл для себя, что в стандартный почтовый конверт не влазит кухонная разделочная доска! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2012, 18:16 |
|
||
|
Как все было на самом деле: итог трех тем
|
|||
|---|---|---|---|
|
#18+
Edd.DragonПоставь себя на место менеджера памяти. Тебя попросили выделить 100 байт - ты выделил. При этом ты что, зная будущее, зарезервировал 100 байт, потому что, кто-то закастит что-то? откуда взялись мысли про априорное резервирование памяти?? речь идет про автоматическое выделение памяти в момент каста, а этот момент менеджер памяти всегда знает какой объем памяти надо, потому что мы в кастинге указываем какой тип хотим получить Edd.DragonОткрыл для себя, что в стандартный почтовый конверт не влазит кухонная разделочная доска! я немного не догоняю в чем вы меня упрекаете... я всегда думал, что сишный каст сам выделяет ровно столько памяти, сколько нужно под тип, который мы кастим.. Код: plaintext 1. 2. 3. 4. я всегда думал, что эта строчка равносильна что-то типа Код: plaintext 1. 2. я вот размышляю, если макросом пришивать вот такой конструктор, а новый объект создавать в аксессоре B* b(A*); ну или то же самое но на шарепоинтах, тогда может получиться автоматический безопасный даункастинг, который я ищу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2012, 19:07 |
|
||
|
Как все было на самом деле: итог трех тем
|
|||
|---|---|---|---|
|
#18+
Lumixя немного не догоняю в чем вы меня упрекаете... Вот в этом: Lumixя всегда думал, речь идет про автоматическое выделение памяти в момент каста С чего ты так думал? В учебниках такого не пишут. Здравой логике это тоже не соответствует - разницу между преобразованием типа (смысла) и преобразованием объекта (содержания) чувствуешь? )) Вот и упрекаем в том, что в строго определенные понятия, подробно описанные и расжеванные в учебниках и в сети, ты вкладываешь свой собственный смысл. Видимо мало вас грабли программирования потрепали, раз все еще не отбита охота фантазировать )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2012, 19:29 |
|
||
|
Как все было на самом деле: итог трех тем
|
|||
|---|---|---|---|
|
#18+
Задача тип А преобразовать в тип Б возникает в следующем случае: У тебя есть "Фигура" и есть наследники "Круг", "Квадрат", "Овал". Дальше у тебя хранилище... чего? Фигур! Ты создал объект типа "Круг". Ссылку на него помещаешь в Хранилище Фигур. В результате имеешь ссылку типа "Фигура". Но ты то знаешь, что это на самом деле "Круг". Как только придется с ним работать, ты кастишь фигуру к кругу (чем она на самом деле и является). Circle* f = dynamic_cast<Circle*>(storage[i]); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2012, 19:38 |
|
||
|
Как все было на самом деле: итог трех тем
|
|||
|---|---|---|---|
|
#18+
Edd.DragonLumixя всегда думал, речь идет про автоматическое выделение памяти в момент каста С чего ты так думал? В учебниках такого не пишут. Я сейчас поразмыслил откуда это берется и пришел к мнению, но все это разновидность "детских импринтов". Просто многие вещи они впечатались когда-то давно и собственно говоря как любой психологический комплекс проявляются только при наступлении каких-то особых условий. Я всю жизнь думал что оно так и кодил, думая, что оно так и оно не падало, а теперь когда пришло время отвечать за библиотечный код, то все эти "детские импринты" стали проявляться и падать. В чем-то я сейчас ощущаю себя как та сороконожка, которую спросили а как вы так ходите на 40 ногах, она задумалась и не смогла сделать ни одного шага... Edd.DragonЗдравой логике это тоже не соответствует - разницу между преобразованием типа (смысла) и преобразованием объекта (содержания) чувствуешь? )) здравой логике..))) хех... нет у меня в голове никакой здравой логики...))) У меня очень неточное мышление... Мой мозг свободно допускает самые причудливые комбинации смыслов без малейших ощущений дискомфорта. я никогда не вникал во всякие там Shape vs Circle... для меня это всегда были просто куски памяти с сигнатурой А и сигнатурой В... Edd.DragonВот и упрекаем в том, что в строго определенные понятия, подробно описанные и расжеванные в учебниках и в сети, ты вкладываешь свой собственный смысл. Это все от отсутствия формального образования в области программирования и гуманитарного склада ума. Edd.DragonВидимо мало вас грабли программирования потрепали, раз все еще не отбита охота фантазировать )) я думаю, что даже 1000 граблей не отобьют поток фантазии... мне кажется это нечто генетическое, некий неоъемлимый атрибут темперамента... хотя конечно я стараюсь повышать собственную адекватность по мере сил, но думаю любовь к правилам у меня появится не скоро... хотя с возрастом все меняются, может через 10-20 лет мозг станет более перпендикулярным))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2012, 20:34 |
|
||
|
Как все было на самом деле: итог трех тем
|
|||
|---|---|---|---|
|
#18+
> а самый задрипанный выпускник ИТМО только сам диалог с работодателем может > начинать от 150 тыс. руб. / мес., а прокаченные ИТМОвцы начинают диалог с 300 > тыс. руб. / мес. и на них ещё и хедхантятся постоянно и з/п в 500 тыс. руб. / > мес. для прокаченного заскилованного ИТМОвца это в порядке вещей... я просто пи...ц какой прокаченный выпускник ЛИТМО. Подскажи, пожалуйста, где мне искать такие з/п. Поначалу согласен на 300. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2012, 20:53 |
|
||
|
Как все было на самом деле: итог трех тем
|
|||
|---|---|---|---|
|
#18+
> Принципиальный запрет кастингов и запрет использования new на пользовательском > уровне. > если кто-то что-то сам закастил или сам создал объект на куче, значит штраф Как --то всё это не получается... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2012, 20:55 |
|
||
|
Как все было на самом деле: итог трех тем
|
|||
|---|---|---|---|
|
#18+
Edd.DragonЗадача тип А преобразовать в тип Б возникает в следующем случае: У тебя есть "Фигура" и есть наследники "Круг", "Квадрат", "Овал". Дальше у тебя хранилище... чего? Фигур! Ты создал объект типа "Круг". Ссылку на него помещаешь в Хранилище Фигур. В результате имеешь ссылку типа "Фигура". Но ты то знаешь, что это на самом деле "Круг". Как только придется с ним работать, ты кастишь фигуру к кругу (чем она на самом деле и является). Circle* f = dynamic_cast<Circle*>(storage[i]); да, то что вы в этом посте пояснили я знаю, но наша команда особо не следит за смыслом написанного и не привязывается к знакам, мы больше сосредотачиваемся на том, что делает конкретный код, на который мы смотрим, ну и на том, какую фичу надо замутить прямо сейчас мы знаем, что наш код никогда не придется отправлять на конкурс лучших кодов вселенной 2012 и поэтому просто пишем по наитию у нас единица контроля это функция (метод), а классы это просто как фолдеры... но при этом и не как фолдеры, то есть статики типа face() = a::draw() такое никто не использует!! классы это просто такой удобный инструмент создавать супер навороченные функции, чем-то похожие на швейцарские ножи у которых по 15-20 всяких примочек можно доставать... Все наши программы состоят вот из таких блоков: торчащие штуки-дрюки это методы, а красная панелька это и есть аксессор объекта, который есть 100% у каждого класса в программе на пользовательском уровне у нас аксессоры используются вместо агрегаторов и поэтому на пользовательском уровне иерархия классов в смысле эталонного ООП не используется там получается некая одноуровневая функциональная сеть, которая использует ООП синтаксис лишь потому, что именно на таком синтаксисе работает с++ одна из моих задач в команде это периодически изучать написанный код и по возможности доставать те или иные абстракции, которые явно прорисовываются и вот эти абстракции спускаются с пользовательского уровня в папочку common или даже может быть в папочку sdk если что-то совсем уж очень абстрактное и широкоприменимое, превращаются в ещё один класс и от него уже можно наследоваться, чтобы пользователь мог добавить тот или иной функционал в свой очередной швецарский нож иногда бывает ребята собирают себе ножики сразу из 4-5 классов, почему бы и нет.. и при этом они не задумываются Circle это или Salary, просто удобно скидать инструменты под конкретную задачу... например, система позволяет смешать классы Стул + Апельсин + Торнадо + Маша + Красный. почему нет, если человеку так удобно?... главное, чтобы утечек памяти не было!!.. и чтобы не было рантайм падений типа мемори рид ерор... но кто-то предпочитает наоборот пятью отдельными аксессорами решать себе задачу... в любом случае система позволяет и так и так и каждый пользователь выбирает сам под себя ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2012, 21:09 |
|
||
|
Как все было на самом деле: итог трех тем
|
|||
|---|---|---|---|
|
#18+
Lumixи на том, какую фичу надо замутить прямо сейчас Ну иногда для этого приходится изменять то, что было написано вчера. И иногда приходится сталкиваться с разочарованием, что само оно не сделается, а поменять придется больше пары строк ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2012, 21:20 |
|
||
|
Как все было на самом деле: итог трех тем
|
|||
|---|---|---|---|
|
#18+
MasterZivя просто пи...ц какой прокаченный выпускник ЛИТМО. Подскажи, пожалуйста, где мне искать такие з/п. Поначалу согласен на 300. На такие зарплаты выходят только через принцип голливуда Don't call us, we'll call you Только через него. Никогда не ищите такую зарплату сами, иначе очень сильно собъете себе ценник. Лучше сделайте себе блог на русском и английском языках, хорошенько прокачайте его грамотным контентом, чтобы было понятно чем вы отличаетесь от не ИТМО-программиста, сделайте себе несколько качественных фотосессий, для быстрой раскрутки предложите какой-нибудь бесплатный консультационный сервис, чтобы у вас сформировалась небольшая фангруппа на 300-400 человек. вы и так по сути много лет уже предоставляете сервис здесь, только там вы уже будете лить воду на свою мельницу и себе на карман, сделайте несколько интервью в специализированных журналах типа Хакер и через три месяца вас начнут хантить первые змеи когда начнут хантить, чисто из принципа на первые пять предложений поломайтесь как девушка, типа серенькие какие-то у вас предложения, а у меня сейчас суперпроект в самом разгаре, я не могу бросить команду, я ответственный человек, да и инетесно тут... этим самым вы на метаязыке змей скажете: ищите мне орбиту, я отыграю любой сценарий. это означает, что хедхантер может реально закрыть сложную вакансию и заработать на этом $100 тыс. и конечно же змеи тут же ринутся искать этот проект и найдут ну а на 6-7 попытке вам наконец предложат поллимона в мес., тогда и соглашайтесь, но тоже не показывайте радости, а просто так со вздохом, ну ладно, че, давайте попробуем, может что и получится... 5 млн. руб. в год на руки чистыми конкретно для вас это абсолютно реальная цифра, но если кого-то от этих денег отделяет нехватка профессионализма, то конкретно вас от этой цифры отделяет нехватка пиара более того!! если у вас достаточно устойчивое финансовое положение, а мне почему-то кажется, что так оно и есть, то есть ооооочень и ооооочень смысл нанять политического пиарщика, который специализируется на всякой мелочи типа депутатах в городскую думу, только не агентство, чтобы никаких там аренды офиса, налогов ничего, черным налом заплатить ему 100-120 тыс. руб. + 100 тыс. премия после приема в штат, поставить цель на 3 мес. и тогда у вас уже будет гарантированный верняк!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2012, 21:39 |
|
||
|
Как все было на самом деле: итог трех тем
|
|||
|---|---|---|---|
|
#18+
Edd.DragonLumixи на том, какую фичу надо замутить прямо сейчас Ну иногда для этого приходится изменять то, что было написано вчера. Да ребята только тем и занимаются, что переписывают то, что было написано "вчера"!! по одной простой причине: заказчик посмотрел, его осенила очередная идея и теперь надо делать по другому, и так в цикле до обретения счастья, поэтому каждый пользователь пишет код, изначально зная, что скорее всего это придется переписывать, и если не завтра, то через 3 месяца, то есть вообще никто не пишет код на века Edd.DragonИ иногда приходится сталкиваться с разочарованием, что само оно не сделается, а поменять придется больше пары строк Я не понимаю только при чем тут разочарование?.. это профессия такая, переписывать код приходится много и постоянно. А у копирайтеров, дизайнеров и художников разве по другому?? только у них это называется черновики, эскизы, а у нас это называется 1000 коммитов до победы. Ну ладно ещё заказчики, так и у нашей команды под воздействием накопленного опыта возникают всякие инсайты и откровения как можно работать проще, быстрее и комфортнее и мы переделываем то, что раньше казалось верхом изящества ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2012, 21:47 |
|
||
|
Как все было на самом деле: итог трех тем
|
|||
|---|---|---|---|
|
#18+
LumixЯ не понимаю только при чем тут разочарование?.. Ну вот ты ж не хочешь реализовать копирование объекта в новый более "продвинутого" типа (т.е. наделить ваши классы этим функционалом). Все ищешь, как бы просто "память скопировать". Разочаровался в несовершенстве хранения мусора в памяти, но все еще не торопишься засучить рукава и переписать побольше, чем предполагал изначально )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2012, 21:52 |
|
||
|
Как все было на самом деле: итог трех тем
|
|||
|---|---|---|---|
|
#18+
Edd.DragonLumixЯ не понимаю только при чем тут разочарование?.. Ну вот ты ж не хочешь реализовать копирование объекта в новый более "продвинутого" типа (т.е. наделить ваши классы этим функционалом). Все ищешь, как бы просто "память скопировать". Разочаровался в несовершенстве хранения мусора в памяти, но все еще не торопишься засучить рукава и переписать побольше, чем предполагал изначально )) мне кажется, то ситуация в которой оказался я это не ситуация часто меняющихся требований, которые требуют переписывания, а я тупо не знаю как решить задачу... я разочаровался потому что был под чарами, то есть разрушилась часть моих иллюзий, которые образовались стихийно на заре становления меня в профессии, но о каком разочаровании может идти речь, когда клиент сегодня говорит давайте учитывать сертификаты, завтра говорит, нет мы не будем их учитывать хрен с ними, а через неделю опять говорит давайте все таки будем их учитывать, но немного не так как в начале задумывали. вот ребята сначала пишут, потом выкидывают, потом опять пишут и никто при этом ни в чем не разочаровывается если речь о том, что все против ручного почленного копирования, то тут уже элементарный вопрос экономичности труда, я сам не разрешу никому так работать, ведь это резко снизит производительность и прибыльность. я должен или найти эффективное автоматическое решение или отказаться от использования даункастинга вообще, короче придумать что-то как всегда простое, дешевое, но классное, мощное и удобное у нас нет задачи впахивать как лошади, у нас есть задача работать как можно продуктивнее, но при этом предоставлять высокий уровень клиентского сервиса, а именно: позволять клиенту менять требования под свои ощущения так часто как меняются его ощущения ну разумеется с клиническими дебилами мы не работаем))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2012, 22:08 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=38080367&tid=2020583]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
71ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
69ms |
get tp. blocked users: |
1ms |
| others: | 260ms |
| total: | 450ms |

| 0 / 0 |
