Перейти к публикации
  • Сейчас на странице   Всего пользователей: 3   (0 пользователей, 3 гостя)

Rooster

Программирование, т. 8

  

315 пользователей проголосовало

У вас нет прав на голосование в этом опросе, или на просмотр результатов опроса. Пожалуйста, войдите или зарегистрируйтесь для голосования в опросе.

Рекомендованные сообщения

Бтв в этой фразе из чата прям жирный намек на то что челик говнокод хуярит

Вот кстати тоже. Мб проблема в том что челибос считает нормальным 5 раз переписывать решение в рамках одной задачки?

 

очень крутые котейки

RqvSzvr.png


Кому-то пизды дал - нужно сделать скрин обязательно. (с) Solo

Поделиться сообщением


Ссылка на сообщение
(изменено)

пофиксить все ошибки типов (которые иногда бывают очень нетривиальными)

тебя не смущает тот момент что если у тебя в типизированом языке есть ошибки типов, что это значит что ты что-то делаешь не так и что при прочих равных в нетипизированом языке у тебя будет точно такая же ошибка с типами, только её тебе не покажет компилятор?

 

я ещё не видел ни раза ни от одного адепта слабой/динамической типизации привера (в виде ебаного кода, а не абстрактных концептов "нет типов = всё быстрее") где показано будет что без типов сделать быстрее чем с ними. где вы находите проблемы с типами которые надо фиксить так долго что х2 замедляется разработка?

 

я понимаю когда такое говорят о С++

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

 

но в ебаном джаваскрипте, серьёзно?


Изменено пользователем TheDeadSkin

Поделиться сообщением


Ссылка на сообщение

Мда щас бы не уметь отключать проверку типов в вебпаке / использовать бабел для тайпскрипта.

Бтв что замедляет въезжание в проект с тс? То что иде подсказывает тебе все доступные методы и поля? Или что когда ты юзаешь компонент в jsx, тебе не надо лезть в его имплементацию, а достаточно из автокомплита увидеть какие пропсы какого типа ему нужны?


65881.png

Поделиться сообщением


Ссылка на сообщение

более того, многие из них вообще тебе не важны

а можно пример ошибки которая тебе сейчас не важна?

 

только не какой-то рак между строками/числами который решается одним вызовом функции str2num()/num2str() или аналогичное

 

я ещё не видел ни раза ни от одного адепта слабой/динамической типизации привера (в виде ебаного кода, а не абстрактных концептов "нет типов = всё быстрее") где показано будет что без типов сделать быстрее чем с ними.

а не, прошу прощения

видел

 

функция сache() которая зависимо от разного кол-ва аругментов и их типов делает три разных действия

Kant и Implatt понравилось это

Поделиться сообщением


Ссылка на сообщение

а можно пример ошибки которая тебе сейчас не важна?

 

хз как в тс с этим, но во flow есть сложности с типами когда речь заходит о ко/инвариантности, в том смысле что flow пиздец придирчив и сделать так чтобы не ругалось иногда просто пиздец


Shaman.png.0cdd33d48561cd068bb3c5ee78289381.png Anna.jpeg.03c9b49363298ceec256500a5d522f7d.jpeg Nigga.jpg.f807f2556bdbf68452292a9301494591.jpg

 

Поделиться сообщением


Ссылка на сообщение
(изменено)

какие к хуям ошибки? эксепшны? или что

резолвить ошибки это про что?

учитывая что там есть тип any то вообще не понимаю в чем проблема - ты всегда можешь писать практически полный js, и использовать типы только там где надо

 

кароче приведи пример

Ну вот допустим ты обьявил newRequest и присвоил ему обьект. Теперь тебе надо описать все поля обьекта, а если в них есть вложенные обьекты, то и их тоже. И если этого не сделать, то тайпскрипт скажет "Ошибка!". Идешь в отдельный файл, описываешь IGetWorkflowTasksRequest, а через пять минут понимаешь, что тебе newRequest вообще не нужен и можно по другому сделать. Any конечно есть, но у нас почему-то было принято типизировать почти все.

 

const newRequest: IGetWorkflowTasksRequest = {
    ...request,
    ...changedRequest,
    ...{
        paging: {
            page: 0,
            blocksize: 10
        }
    }
}

у вас проблема не с тайпскриптом, а с тем что нету навыка работы с типами

 

 

это что то на уровне "зачем мне ваши объекты если я могу процедурно и через goto всё что угодно написать в 5 раз быстрее"

я даже соглашусь что на старте это быстрее

но через 3-6 месяцев интенсивной разработки уже получаешь 100% выигрыш по скорости

 

Ну да, мне говорили "это поначалу много писать, а потом на поддержке мы выйграем, все же типизировано, понятно". Но я чет за 3 месяца выйгрыша так и не ошутил. Зато когда заходил в файл с формой и видел 40+ импортов мне хотелось паунс в окно сделать


Изменено пользователем .felix

Поделиться сообщением


Ссылка на сообщение

 

а можно пример ошибки которая тебе сейчас не важна?

 

хз как в тс с этим, но во flow есть сложности с типами когда речь заходит о ко/инвариантности, в том смысле что flow пиздец придирчив и сделать так чтобы не ругалось иногда просто пиздец

 

ну у жса основное решение на эти вещи это то что всё стаёт внезапно совместимым друг с другом и ваще похуй что там

это просто очередная деталь к которой можно привыкнуть и встретив проблему второй раз ты уже знаешь как её решить. даже если решение не в 1 строку, то ты всё-равно знаешь как это сделать

 

по мне списывать незнание работы типов на то что типы это плохо - чистой воды долбоебизм. отказ от х10 более сильного статического анализа кода потому что ты собрался 5 раз переписывать решение и не хочешь чтоб твоё текущее решение было рабочим не звучит убедительным аргументом

Поделиться сообщением


Ссылка на сообщение

Ты пишешь any, а когда понимаешь, что решение финальное, обьявляешь тип, если тебе так удобнее

Ну и можно (внимание) отключить проверку типов при пересборке вебпаком, и проверять их только когда надо - у нас вот прекоммит хук на это стоит


65881.png

Поделиться сообщением


Ссылка на сообщение
(изменено)

Теперь тебе надо описать все поля обьекта, а если в них есть вложенные обьекты, то и их тоже.

а альтернатива этому это ...? отдать дальше объект который выплюнет 10 андейфайндов потому что ты не описал поля?

 

а через пять минут понимаешь, что тебе newRequest вообще не нужен и можно по другому сделать.

а что насчёт сначала понять что нужно, а потом описывать реквест?

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

 

и кстати чет не совсем понимаю прикола в анонимных объектах под интерфейсы, это норма в ТС так делать?


Изменено пользователем TheDeadSkin

Поделиться сообщением


Ссылка на сообщение

 

какие к хуям ошибки? эксепшны? или что

резолвить ошибки это про что?

учитывая что там есть тип any то вообще не понимаю в чем проблема - ты всегда можешь писать практически полный js, и использовать типы только там где надо

 

кароче приведи пример

а через пять минут понимаешь, что тебе newRequest вообще не нужен и можно по другому сделать.

 

может проблема всё таки в этом? 


 

очень крутые котейки

RqvSzvr.png


Кому-то пизды дал - нужно сделать скрин обязательно. (с) Solo

Поделиться сообщением


Ссылка на сообщение

я хз, вообщем мне лень и у меня нет достаточной компетенции (всего 3 месяца работы), чтобы доказать что тайпскрипт замедляет работу. Это мое субьективное суждение. Я вообщем-то и писал как советует kijupsik, отключал проверку, забивал на все типы, пилил фичу, а потом перед коммитом еще пару часов описывал 100500 интерфейсов, чтобы тайпскрипт отвалил. Где тут преимущества я хз.

Поделиться сообщением


Ссылка на сообщение
Гость LifeIsPain

3 МЕСЯЦА РАБОТЫ ГОВНОДОЛБАЕБОМ ФРОНТЕНДЕРОМ И ПЫТАЕТСЯ ПИЗДЕТЬ ЧТОТО СЕНЙЬОРАМ КОТОРЫЕ СИДЯТ ТУТ

типичные жс-макаки, надеюсь вы подохните

Just.Doit понравилось это

Поделиться сообщением


Ссылка на сообщение

я хз, вообщем мне лень и у меня нет достаточной компетенции (всего 3 месяца работы), чтобы доказать что тайпскрипт замедляет работу. Это мое субьективное суждение. Я вообщем-то и писал как советует kijupsik, отключал проверку, забивал на все типы, пилил фичу, а потом перед коммитом еще пару часов описывал 100500 интерфейсов, чтобы тайпскрипт отвалил. Где тут преимущества я хз.

зайди на проект который год разрабатывается без типизации и сравни как там тебе будет писать фичи 


 

очень крутые котейки

RqvSzvr.png


Кому-то пизды дал - нужно сделать скрин обязательно. (с) Solo

Поделиться сообщением


Ссылка на сообщение

 

а можно пример ошибки которая тебе сейчас не важна?

 

хз как в тс с этим, но во flow есть сложности с типами когда речь заходит о ко/инвариантности, в том смысле что flow пиздец придирчив и сделать так чтобы не ругалось иногда просто пиздец

 

не знаю конечно, что там во flow, но если то же, что и в шарпе, то ко/контрвариантность надо указывать просто потому, что иначе ты не можешь гарантировать правильную типизацию.

Я никак не могу запомнить кто из них там кто, ебал их нахуй, но там очевидные проблемы при конвертации одного списка в список базовых классов, а потом наоборот, тк операции не эквивалентны

 

 

 

какие к хуям ошибки? эксепшны? или что

резолвить ошибки это про что?

учитывая что там есть тип any то вообще не понимаю в чем проблема - ты всегда можешь писать практически полный js, и использовать типы только там где надо

 

кароче приведи пример

Ну вот допустим ты обьявил newRequest и присвоил ему обьект. Теперь тебе надо описать все поля обьекта, а если в них есть вложенные обьекты, то и их тоже. И если этого не сделать, то тайпскрипт скажет "Ошибка!". Идешь в отдельный файл, описываешь IGetWorkflowTasksRequest, а через пять минут понимаешь, что тебе newRequest вообще не нужен и можно по другому сделать. Any конечно есть, но у нас почему-то было принято типизировать почти все.

 

const newRequest: IGetWorkflowTasksRequest = {
    ...request,
    ...changedRequest,
    ...{
        paging: {
            page: 0,
            blocksize: 10
        }
    }
}

у вас проблема не с тайпскриптом, а с тем что нету навыка работы с типами

 

 

это что то на уровне "зачем мне ваши объекты если я могу процедурно и через goto всё что угодно написать в 5 раз быстрее"

я даже соглашусь что на старте это быстрее

но через 3-6 месяцев интенсивной разработки уже получаешь 100% выигрыш по скорости

 

Ну да, мне говорили "это поначалу много писать, а потом на поддержке мы выйграем, все же типизировано, понятно". Но я чет за 3 месяца выйгрыша так и не ошутил. Зато когда заходил в файл с формой и видел 40+ импортов мне хотелось паунс в окно сделать

 

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

ведь ВНЕЗАПНО типы есть всегда, просто в жсе ты их не объявляешь, и надеешься, что все смогут прочесть твою лапшу и понять, что там, либо всё лежит в документации, которая описывает всё то же самое, только ничего не гарантирует 634ec218a2.gif


Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.
Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью.

Поделиться сообщением


Ссылка на сообщение

зайди на проект который год разрабатывается без типизации и сравни как там тебе будет писать фичи 

Я как раз работал на проекте, который писали немцы один год, а потом мы еще полтора года. Там были свои косяки, но вот уж от чего я не страдал, так это от отсутсвия типизации. И как не странно он был проще, чем проект которому всего 5 месяцев и который написан на тайпскрипе парой человек.

 

GoToDefinition вполне заменяется глобальным поиском по проекту, хоть это и чуть дольше. Улучшенный автокомплит тайпскрипта штука конечно прикольная, только вот достигается она за счет программиста, который все интерфейсы опишет, что мне нафиг не сдалось. А тайпскрипт из коробки дает только автокомплит стандартных типов. Показывает мне что у массивов есть length и push, спс бро помог так помог  :lol:

Поделиться сообщением


Ссылка на сообщение

 

зайди на проект который год разрабатывается без типизации и сравни как там тебе будет писать фичи 

 

 

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

 

4a3c3e9ddb89babe1ae32689dd958171.jpg

Поделиться сообщением


Ссылка на сообщение

джун и опыт

опыт и джун

 

 

ну и отдельный вголсяндр с • Умение адекватно оценивать трудоемкость и сроки, соблюдать эти сроки;

А разве это не изи

спрашиваешь прогера сколько времени уйдет на фул проект и умножаешь на 2 то что он скажет чтоб получить дату бета версии продукта.

Поделиться сообщением


Ссылка на сообщение

С меня на работе экстимейты уже год наверное как не спрашивают, хех. Перки работы в продуктовой компании как говорится.


userbar-53933.png

http://codepen.io/suez/ - they see me bydlocoding, they hatin.

Поделиться сообщением


Ссылка на сообщение

ну ещё бы, сидишь на подсосе у буржуев и в плейстешон играешь, что с тебя спрашивать?

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации сообщений.

×
×
  • Создать...