Какой язык проще выучить для бэкенда?

danforth
На сайте с 18.12.2015
Offline
153
#111
LazyBadger:
А джун, по определению, не может оценивать миддлов/сеньоров, которых к себе старательно завлекает.

С этим согласен, складывается впечатление, что Sly32 не всегда понимает, о чем говорит, а часть вообще выдумал.

LazyBadger:
А потому что кисо обиделось, когда я намекнул, что ее код не сильно лучше оригинального бреда, типа "зачем писать все, и так панятна"... при том, что настоящий программер (а не новомодный "прогер") просто автоматически пишет нормальный код, а не песню акына.

А тут не согласен. Я тернарники не использую (потому что в Го их нет, ггг), и считаю, что тернарники нужны только тогда, когда они умещаются в 30-40 символов одной строки, при использовании длинных имен у переменных, потому что разработчики ленивые, экономят время на написании (1 раз), но существенно теряют во время чтения (многократно), особенно если тернарник вложенный. Вот за такое бить по рукам:

int median(int a, int b, int c) {

return (a<b) ? (b<c) ? b : (a<c) ? c : a : (a<c) ? a : (b<c) ? c : b;
}
Junior Web Developer
IL
На сайте с 20.04.2007
Offline
435
#112
danforth:
Вот за такое бить по рукам:

Хм.. а на мой взгляд, из названия функции вполне понятно о чём речь.. Разве что, проверить, что "оно работает"..

Как вариант - для "удобочитаемости" и избежания вариативности скобок наставить.. и/или с переносами-отступами поиграться.. В остальном - вполне рабочая конструкция.. =)

... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
DD
На сайте с 16.05.2012
Offline
82
#113
danforth:
Я тернарники не использую (потому что в Го их нет, ггг)

тернарный оператор это всего лишь форма записи обычного if - else. не более того. В случае с Python тернарный оператор актуален в ламбда функциях.

В Go /а один из его принципов простота кода.... / есть же if {} elseif {} else {} ... так этого вполне достаточно что бы выразить любые мысли...

Разработка систем сбора данных на Python/Golang/NodeJs
S
На сайте с 30.09.2016
Offline
469
#114
drDaemon:
тернарный оператор это всего лишь форма записи обычного if - else. не более того.

Скорее, менее того.

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
T7
На сайте с 19.09.2018
Offline
63
#115
danforth:
Вот за такое бить по рукам

Типа я въехать не смог?

Безотносительно к коду🍿

По мне так эффективно и просто это хорошо. И не важно иф-елзе или ретурн б==0?1:0 Другое дело, что сделать просто - это очень сложно.

if( b.toString().length() == 4 ) {

может и не так смешно, как это выглядит в полном предложенном коде. Так может получиться, когда не ясно

b=false

#или
b='false'

Из какого хмл или джисон может зайти. Но и так не оптимально. К вопросу типизации кстати.

Первую строчку кода я видел, предположим ее нет, а b непонятно откуда заходит.

S3
На сайте с 29.03.2012
Offline
366
#116
danforth:
складывается впечатление, что Sly32 не всегда понимает, о чем говорит, а часть вообще выдумал.

Естественно, как и 100% находящихся здесь. И никогда не утверждал, что прям все знаю. Мне интересно учится и не стыдно признаваться что чего то не знаю. Что-то знаете лучше вы, что-то я - это нормально. Ненормально дуть щеки и преподносить свою версию как единственно правильную.

За оценку не беспокойтесь, я этим не занимаюсь, я могу пригласить человека, но не провожу интервью, только предварительно могу оценить кандидата, да и это не мой круг обязанностей. Ассесменты проводят специально обученные люди. Вопросы сняты? А то какая-то нездоровая страсть ко мне у некоторых личностей.

timo-71:
Так может получиться, когда не ясно

Отсюда еще одно определение неговнокода - когда ясно))) и не всегда явная типизация спасает)

SeVlad
На сайте с 03.11.2008
Offline
1609
#117
Sly32:
Мне даже жалко человека, для которого git, jira, SCRUM, необходимость знания английского и прочее - ересь.

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

Sly32:
Ненормально дуть щеки и преподносить свою версию как единственно правильную.

Например про докеры, гиты и разные правки "не на сервере" (ну подумаешь что тот же гит тоже не на десктопе), ага :)

Sly32:
Естественно, как и 100% находящихся здесь.

Корона-то не жмёт? :)

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
S
На сайте с 30.09.2016
Offline
469
#118
SeVlad:
Ты уже опустился до уровня комнатных свинопасов,

Не трогай хрюшек. Не то сейчас опять начнётся.

Lazy Badger
На сайте с 14.06.2017
Offline
228
#119
DenisVS:
по поводу контроля версий, Subversion вы уже совсем списали?

В большинстве случаев - приходится списывать за борт, потому что Merge Hell при рефакторинге кода ("Tree confict") до сих пор живет, даже в 1.13 (говорят "ждать 2.0", а зачем?). При сугубо линейной разработке или поддержке кода на этапе "U" - можно, но ведь никогда не знаешь, насколько жесток может быть этот U

danforth:
А тут не согласен. Я тернарники не использую (потому что в Го их нет, ггг), и считаю, что тернарники нужны только тогда, когда они умещаются в 30-40 символов одной строки

1. Хозяин - барин

2. Так и я не говорю, что нужно использовать всегда, но вот в данном конкретном (выморочном) примере

IsAdmin if b else IsUser

для меня, как ревьювера кода (или сопровожденца) выглядит сильно приятнее, чем предложенный Слаем прямо из букваря

if b:
code
code
code
else:
code
code
code
some spaghetti-code below

просто потому что

* модульность (ergo "читабельность") придумана не просто так - когда я проверяю этот кусок кода (оригинал с логикой проверки), меня в последнюю очередь будет волновать, что там потом делается внутри после, но в слаевом коде я вынужден пробегаться и по этой части

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

danforth:
Вот за такое бить по рукам:
int median(int a, int b, int c) {
return (a<b) ? (b<c) ? b : (a<c) ? c : a : (a<c) ? a : (b<c) ? c : b;
}

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

---------- Добавлено 05.01.2020 в 13:38 ----------

timo-71:
Так может получиться, когда не ясно

из какого хмл или джисон может зайти

Для таких случаев есть два варианта действий

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

* верификация входных данных, когда разработчик не доверяет входящим данным ("все что может случиться - случается, все что не может - случается тоже, но реже") и приводит к нужному ему

Производство жести методом непрерывного отжига
S3
На сайте с 29.03.2012
Offline
366
#120
LazyBadger:
но в слаевом коде я вынужден пробегаться и по этой части

Каким ты можешь быть ревьюером, если ты даже не прочитал пример, в котором не было тернарного if? напомнить исходный код?

Boolean b = new Boolean( is_admin );

if( b.toString().length() == 4 ) {

// something...

}

// something

В данном случае я вижу говнокод в многочисленном преобразовании типов, что в питоне и решается 1-й строкой!

SeVlad:
Корона-то не жмёт?

Если б ты читал что пишут, не комментировал бы такой хренью. с твоим говнопрессом ты к докеру и гиту придешь, когда про них уже все забудут. Реально жалко тебя. И вообще что ты делаешь в этом обсуждении? твой вордпрес в принципе один большой говнокод!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий