Философия разработки на примере синглтона

mynameiszb
Уже с Приветом
Posts: 1663
Joined: 16 Jul 2009 14:18
Location: Uganda

Re: Философия разработки на примере синглтона

Post by mynameiszb »

Kolbasoff wrote:И пока не вкурил, зачем простые вещи делать так сложно?
Потому как народ привык, что диски дешевы и места захапать можно много. Вот и засирают шпинделя байтами без внятного понимания - зачем им это. Перемахивают петабайтную границу и чешут затылок - что со всем этим делать.
Если внятные запосы и хранилища делать - это думать надо. А если наплодить кучу простых запросов и на кластере с кучей нод запустить - уже вроде как и свет в конце тонеля появился.

Ну и строчку в резюме можно воткнуть :)
User avatar
valchkou
Уже с Приветом
Posts: 4185
Joined: 27 Apr 2011 03:43
Location: Сергели ->Chicago

Re: Философия разработки на примере синглтона

Post by valchkou »

Леонид Ильич Брежнев wrote:
valchkou wrote:
Леонид Ильич Брежнев wrote: Монго надо выкинуть и поставить вместо него Aerospike NoSQL. Нам на той недели на Политбюро приглашенные эксперты по NoSQL рассказывали.
поглядел на их сайт, а там одни лозунги, нормальной документации нет.
Я бы с такими побоялся связываться.
Почитай про них получше. Информация на интернете доступна. Они реально много лучше монго. Ключевые слова я тебе дал, дальше уже сам.
мня пока кассанра всем устраивает.
Palych
Уже с Приветом
Posts: 13664
Joined: 16 Jan 2001 10:01

Re: Философия разработки на примере синглтона

Post by Palych »

Осмелюсь ляпнуть по теме (правильно vs. просто)
Мои размышления пока что привели меня к выводу что дело это индивидуальное.
Я знаю очень крутого спеца, который пишет совершенно гениальный говнокод.
Он за считанные дни ваяет игрушки для андроида, программы хитрых научных рассчетов на C, и проч.
При этом например в C программе пости вся логика реализована в .h файлах.

Я же пару раз пытался замутить небольшой проект в github, чиста паржать. Около месяца думал как правильно сделать. Пока думал - забыл что я вообще хотел сделать. На работе же как раз занимаюсь тем что рисую фреймворки, которые используют Кумары. И понял я что могу работать только в больших компаниях и на текущем месте наверное и окончу свой земной путь.
Roy
Уже с Приветом
Posts: 1234
Joined: 24 Nov 1999 10:01
Location: Seattle

Re: Философия разработки на примере синглтона

Post by Roy »

Palych wrote:Осмелюсь ляпнуть по теме (правильно vs. просто)
Мои размышления пока что привели меня к выводу что дело это индивидуальное.
Я знаю очень крутого спеца, который пишет совершенно гениальный говнокод.
Он за считанные дни ваяет игрушки для андроида, программы хитрых научных рассчетов на C, и проч.
Да, есть такие гении. После того как они уходят обычно приходится код заново переписывать.
User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: Философия разработки на примере синглтона

Post by АццкоМото »

Roy wrote:
Palych wrote:Осмелюсь ляпнуть по теме (правильно vs. просто)
Мои размышления пока что привели меня к выводу что дело это индивидуальное.
Я знаю очень крутого спеца, который пишет совершенно гениальный говнокод.
Он за считанные дни ваяет игрушки для андроида, программы хитрых научных рассчетов на C, и проч.
Да, есть такие гении. После того как они уходят обычно приходится код заново переписывать.
Все верно, только с одной поправкой: чешется код переписать исключительно гениальным русским. Они так всю жизнь и проводят - переписывая чужой говнокод. Что бы своего сделали
Мат на форуме запрещен, блдж!
User avatar
valchkou
Уже с Приветом
Posts: 4185
Joined: 27 Apr 2011 03:43
Location: Сергели ->Chicago

Re: Философия разработки на примере синглтона

Post by valchkou »

АццкоМото wrote:
Roy wrote:
Palych wrote:Осмелюсь ляпнуть по теме (правильно vs. просто)
Мои размышления пока что привели меня к выводу что дело это индивидуальное.
Я знаю очень крутого спеца, который пишет совершенно гениальный говнокод.
Он за считанные дни ваяет игрушки для андроида, программы хитрых научных рассчетов на C, и проч.
Да, есть такие гении. После того как они уходят обычно приходится код заново переписывать.
Все верно, только с одной поправкой: чешется код переписать исключительно гениальным русским. Они так всю жизнь и проводят - переписывая чужой говнокод. Что бы своего сделали
да есть такое :D
"дайте мне недельку и я тут все правильно сделаю"
XpoH
Уже с Приветом
Posts: 2123
Joined: 08 Nov 2013 22:33
Location: SFBA

Re: Философия разработки на примере синглтона

Post by XpoH »

АццкоМото wrote:
Roy wrote:
Palych wrote:Осмелюсь ляпнуть по теме (правильно vs. просто)
Мои размышления пока что привели меня к выводу что дело это индивидуальное.
Я знаю очень крутого спеца, который пишет совершенно гениальный говнокод.
Он за считанные дни ваяет игрушки для андроида, программы хитрых научных рассчетов на C, и проч.
Да, есть такие гении. После того как они уходят обычно приходится код заново переписывать.
Все верно, только с одной поправкой: чешется код переписать исключительно гениальным русским. Они так всю жизнь и проводят - переписывая чужой говнокод. Что бы своего сделали
это исключительно для того, чтоб усы с кудряшками не росли и на карри не тянуло.
User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: Философия разработки на примере синглтона

Post by АццкоМото »

XpoH wrote:это исключительно для того, чтоб усы с кудряшками не росли и на карри не тянуло.
Ну в целом - да. Чтобы считать себя круче других, да.
Мат на форуме запрещен, блдж!
User avatar
tengiz
Уже с Приветом
Posts: 4468
Joined: 21 Sep 2000 09:01
Location: Sammamish, WA

Re: Философия разработки на примере синглтона

Post by tengiz »

Palych wrote:Осмелюсь ляпнуть по теме (правильно vs. просто)
Вот, оказывается, в чем вопрос был - а я не был уверен. Автор вопроса имеет витиеватую марену выражаться, да еще и так что границы его... сарказма весьма размыты, поэтому я не был увеврен.

Мое убеждение - правильно и есть просто. Код не должен быть сложнее функциональности, которую код реализует. Иначе жопа, потому что понятно почему. Другой вопрос, что просто - не всегда быстро. Обычно все наоборот - напишешь быстро - получится сложно. Поэтому шо делать зависит от приоритетов - хочешь написать быстро, можно мозг и отключить и писать straightforward shitty code как сочинение прямо из головы и потом долго отлаживаться и вносить инкрементальные правки (вот тут оказалось off by one, поэтому вместо abc[n+j] нужно написать abc[n-1+j+1], а вот тут частном случае когда foo == 0 не работает как надо, поэтому добавим специальный случай,... и прочие красивости shitty кода) которые до неузнаваемости изменят изначальный код, да так что сам через неделю не разберешь. Хочешь написать простой и правильно работающий код, придется включить мозги и подумать. Пытаться свести все к знакомым "design patterns" - это не есть думать, это частично отключить мозг.

В итоге потратив на "подумать", сэкономишь на "написать и потом поотлаживаться и порихтовать молотком, опять поотлаживаться и порихтовать молотком, опять поотлаживаться и порихтовать молотком,..."
Cheers
User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: Философия разработки на примере синглтона

Post by АццкоМото »

Г-ди, какой децат. Вожатый пионерам о программировании :(
Мат на форуме запрещен, блдж!
User avatar
tengiz
Уже с Приветом
Posts: 4468
Joined: 21 Sep 2000 09:01
Location: Sammamish, WA

Re: Философия разработки на примере синглтона

Post by tengiz »

АццкоМото wrote:Г-ди, какой децат. Вожатый пионерам о программировании :(
А что такое децат? В любом случае - Вы зря сердитесь. Ваш вопрос как раз пионерский (Вы сами сказали - "философия", т.е. почти ни о чем и почти обо всем), и я почти уверен, что Вы и так знаете на него практический полезный для себя ответ. Такой вопрос имеет, разумеется, смысл если Вы хотите получить представление, но не "правильном" ответе (который Вы и так, подозреваю, знаете для ситуаций который Вы имеете в виду), а о том, какие вообще есть мнения и почему. Совсем необязательно с ответами соглашаться, но для того, чтобы иметь срез, так сказать, общественного мнения - вполне.
Cheers
User avatar
tengiz
Уже с Приветом
Posts: 4468
Joined: 21 Sep 2000 09:01
Location: Sammamish, WA

Re: Философия разработки на примере синглтона

Post by tengiz »

Ну и чтобы больше к этому не возвращаться, "философия разработки" всего чего угодно, на мой взгяд, очень простая - не нужно ничего без уважительной причины усложнять. Даже если это очень сложно сделать, обычно это того стоит - подумать и постараться сделать просто и понятно.
Cheers
Roy
Уже с Приветом
Posts: 1234
Joined: 24 Nov 1999 10:01
Location: Seattle

Re: Философия разработки на примере синглтона

Post by Roy »

На примере компании, в которой я работаю, сложилось такое мнение.

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

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

Интересный пример - Фэйсбук. У них столько развелось ПХП говнокода, что переписать его не представлялось возможным. В итоге пришлось извратиться и написать компилятор ПХП в С++.
Есть интересное видео с их главным инженером. Он рассказывал про то, как они добавляли новую фичу photo upload. Надо было максимально быстро выпустить фичу на рынок т.к. каждый месяц поерянного времени стоил миллионы упущенных долларов. В итоге для первой версии они загруженные картинки просто складывали в отдельные файлы. Когда через несколько месяцев файловая системы перестала выдерживать - они стали писать всё в один файл. Когда и этому решению пришёл конец - перешли на нормальное распределённое хранилище данных. Зато продукт был выпущен за два месяца и теперь превосходит всех конкурентов вместе взятых во много раз по количеству фоточек.
Вобщем у них главный принцип - сделай хоть как, но как можно быстрее, а потом много раз переписывай.
User avatar
turic
Уже с Приветом
Posts: 418
Joined: 11 Mar 2014 03:30
Location: Spb->SFBA

Re: Философия разработки на примере синглтона

Post by turic »

Roy wrote: Вобщем у них главный принцип - сделай хоть как, но как можно быстрее, а потом много раз переписывай.
Верно сказано, все так и есть. Правда, есть одно "но": если UX, в т.ч. стабильность, производительность, удобность получились плохи в результате спешки, то пользователи могут отвалить и репутация будет сильно подмочена. Microsoft в свое время это хорошо продемонстрировала это с Win95. Анекдоты про глючность винды ходили еще долго. Сейчас бы им конец настал, а тогда просто другого не было.
User avatar
Boriskin
Уже с Приветом
Posts: 18862
Joined: 30 Aug 2001 09:01
Location: 3rd planet

Re: Философия разработки на примере синглтона

Post by Boriskin »

tengiz wrote: Мое убеждение - правильно и есть просто. Код не должен быть сложнее функциональности, которую код реализует.
В целом - да, "не надо преумножать сущности", но бывает, что, казалось бы простая, функциональность требует непростых вещей для эффективной (в плане перфоманса) реализации и поэтому сделать эфффективный код еще и простым - не представляется возможным. Не в смысле того, что код - слоеное спагетти с говном, а в том плане, что приходится привлекать достаточно сложные сущности из advanced CS, специально заточенные под задачи такого рода. Имхо, 90-95% обычной девелоперской работы под этот расклад не попадают, но иногда приходится сталкиваться и с таким.
Тупизна как Энтропия. Неумолимо растет.
User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: Философия разработки на примере синглтона

Post by АццкоМото »

tengiz wrote:
АццкоМото wrote:Г-ди, какой децат. Вожатый пионерам о программировании :(
А что такое децат? В любом случае - Вы зря сердитесь. Ваш вопрос как раз пионерский (Вы сами сказали - "философия", т.е. почти ни о чем и почти обо всем), и я почти уверен, что Вы и так знаете на него практический полезный для себя ответ. Такой вопрос имеет, разумеется, смысл если Вы хотите получить представление, но не "правильном" ответе (который Вы и так, подозреваю, знаете для ситуаций который Вы имеете в виду), а о том, какие вообще есть мнения и почему. Совсем необязательно с ответами соглашаться, но для того, чтобы иметь срез, так сказать, общественного мнения - вполне.
Если бы чукча хоть на полкарасика был читателем, он бы заметил, что в самом заглавном посте я четко обозначил, что у меня есть свое мнение по данному вопросу и мне интересен именно срез общественного мнения. Ну, т.е. не пришлось бы кнопочки топтать со своей гениальной онолитегой
Т.е. снова: децат
Мат на форуме запрещен, блдж!
User avatar
Boriskin
Уже с Приветом
Posts: 18862
Joined: 30 Aug 2001 09:01
Location: 3rd planet

Re: Философия разработки на примере синглтона

Post by Boriskin »

Roy wrote:На примере компании, в которой я работаю, сложилось такое мнение.

Когда компания начинает свой нелёгкий путь в виде стартапа - выбора особо нет как писать. Единственные критерий - быстро, поэтому получается говнокод в любом случае.
Еще бывает что разработкой руководят люди, ничего не понимающие в процессе - тогда даже говно не получается.
Вобщем у них главный принцип - сделай хоть как, но как можно быстрее, а потом много раз переписывай.
Тут надо понимать, что ФБ - это просто веб-сервис, и выпустить, добавить, удалить, отмотать можно все что угодно за пару минут. Они счас регулярно чтото тестируют на географических сегментах, "эту хрень для Бразилии добавим, а эту хрень для Польши уберем, как несыгравшую".

А теперь представим, что скажем Адоба выпустила новую версию CS и спустя пару миллионов проданных версий оказалось, что там чтото охрененно сломалось, и надо чинить весь install base. Головняк феерический и тяп-ляп уже не обойдешься.
Last edited by Boriskin on 31 Oct 2014 16:43, edited 1 time in total.
Тупизна как Энтропия. Неумолимо растет.
User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: Философия разработки на примере синглтона

Post by АццкоМото »

Boriskin wrote:
tengiz wrote: Мое убеждение - правильно и есть просто. Код не должен быть сложнее функциональности, которую код реализует.
В целом - да, "не надо преумножать сущности", но бывает, что, казалось бы простая, функциональность требует непростых вещей для эффективной (в плане перфоманса) реализации и поэтому сделать эфффективный код еще и простым - не представляется возможным. Не в смысле того, что код - слоеное спагетти с говном, а в том плане, что приходится привлекать достаточно сложные сущности из advanced CS, специально заточенные под задачи такого рода. Имхо, 90-95% обычной девелоперской работы под этот расклад не попадают, но иногда приходится сталкиваться и с таким.
Именно так.
причем самое печальное - разные люди, выбирающие самые разные подходы уверены, что именно они дартаньяны делают правильно и просто, а окрест одни содомиты. т.е. в практическом плане этот лозунг почти бесполезен
Мат на форуме запрещен, блдж!
User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: Философия разработки на примере синглтона

Post by АццкоМото »

Boriskin wrote:[
Еще бывает что разработкой руководят люди, ничего не понимающие в процессе - тогда даже говно не получается.
:ROFL: это пять!
Мат на форуме запрещен, блдж!
User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: Философия разработки на примере синглтона

Post by АццкоМото »

Boriskin wrote:А теперь представим, что скажем Адоба выпустила новую версию CS и спустя пару миллионов проданных версий оказалось, что там чтото охрененно сломалось, и надо чинить весь install base. Головняк феерический и тяп-ляп уже не обойдешься.
Эта история повторяется с каждым релизом iOS, а начиная с Йосемите - и с МакОС. И вроде как ничего - цветут и пахнут
Мат на форуме запрещен, блдж!
User avatar
Boriskin
Уже с Приветом
Posts: 18862
Joined: 30 Aug 2001 09:01
Location: 3rd planet

Re: Философия разработки на примере синглтона

Post by Boriskin »

В какой то отличной книге по сложные случаи из практики разработки была отличная фраза - "программер должен быть ленив" - он не должен бросаться и копать кодо-канаву от сюда и до обеда, он должен полениться, подумать и придумать, как задачу решить наиболее эффективно.
Тупизна как Энтропия. Неумолимо растет.
User avatar
turic
Уже с Приветом
Posts: 418
Joined: 11 Mar 2014 03:30
Location: Spb->SFBA

Re: Философия разработки на примере синглтона

Post by turic »

Boriskin wrote:В какой то отличной книге по сложные случаи из практики разработки была отличная фраза - "программер должен быть ленив" - он не должен бросаться и копать кодо-канаву от сюда и до обеда, он должен полениться, подумать и придумать, как задачу решить наиболее эффективно.
Не все что написано в книге справедливо. Пока этот мега мозг размышляет и ленится другие уже сбацают.
User avatar
Boriskin
Уже с Приветом
Posts: 18862
Joined: 30 Aug 2001 09:01
Location: 3rd planet

Re: Философия разработки на примере синглтона

Post by Boriskin »

АццкоМото wrote:
Boriskin wrote:А теперь представим, что скажем Адоба выпустила новую версию CS и спустя пару миллионов проданных версий оказалось, что там чтото охрененно сломалось, и надо чинить весь install base. Головняк феерический и тяп-ляп уже не обойдешься.
Эта история повторяется с каждым релизом iOS, а начиная с Йосемите - и с МакОС. И вроде как ничего - цветут и пахнут
Ну сравни с ФБ - косяк отрезается, как только находится, один коммит и все, нету проблемы, юзеру можно вообще сказать, что ему привидилось - "где косяк? не видишь? значит и не было ничего!", а яблочным надо апдейт выпустить, и чтоб юзеры его проставили етс.
Тупизна как Энтропия. Неумолимо растет.
User avatar
Boriskin
Уже с Приветом
Posts: 18862
Joined: 30 Aug 2001 09:01
Location: 3rd planet

Re: Философия разработки на примере синглтона

Post by Boriskin »

turic wrote:
Boriskin wrote:В какой то отличной книге по сложные случаи из практики разработки была отличная фраза - "программер должен быть ленив" - он не должен бросаться и копать кодо-канаву от сюда и до обеда, он должен полениться, подумать и придумать, как задачу решить наиболее эффективно.
Не все что написано в книге справедливо. Пока этот мега мозг размышляет и ленится другие уже сбацают.
Я не против, as long as their shit is their problem, not mine.
Тупизна как Энтропия. Неумолимо растет.
User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: Философия разработки на примере синглтона

Post by АццкоМото »

Смысл, очевидно, в том, чтобы долго запрягать, но быстро ехать: лопата для говнокодоканавы всегда под рукой, а за экскаватором надо сходить. бат ин зи енд ов зи дей...
Мат на форуме запрещен, блдж!

Return to “Работа и Карьера в IT”