7041

Злой программист

Злой программист

IT-юмор

7K поста53.2K подписчика

Правила сообщества

Не публикуем посты:
1) с большим количеством мата
2) с просьбами о помощи
3) не относящиеся к IT-юмору

Вы смотрите срез комментариев. Показать все
212
DELETED
Автор поста оценил этот комментарий
А что такое "рефачит "?
раскрыть ветку (60)
139
Автор поста оценил этот комментарий

Перетрахивает

раскрыть ветку (6)
48
Автор поста оценил этот комментарий
Даже не знаю, опечатка ли это)
раскрыть ветку (4)
63
Автор поста оценил этот комментарий

За кого Вы меня принимаете?! Конечно нет!

раскрыть ветку (2)
27
Автор поста оценил этот комментарий
Сразу видно культурного человека
раскрыть ветку (1)
14
Автор поста оценил этот комментарий
Иллюстрация к комментарию
18
DELETED
Автор поста оценил этот комментарий

refuck, he meant

11
Автор поста оценил этот комментарий

О, найден идеальный перевод слова рефакторинг

343
Автор поста оценил этот комментарий

Имеется в виду "проводить рефакторинг", то есть переделывать код из состояния "написан быстро и тупо чтобы работало" в состояние "какой же красивый и удобный код".

раскрыть ветку (40)
207
Автор поста оценил этот комментарий
И, что немаловажно, его можно проводить до бесконечности, по кругу.
раскрыть ветку (28)
68
DELETED
Автор поста оценил этот комментарий

Почему то в моём случае это приводит к уменьшению читабельности. Всё начинает куда-то обращаться и хер проссышь где концы и как их сопоставлять(

раскрыть ветку (24)
33
DELETED
Автор поста оценил этот комментарий

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

раскрыть ветку (7)
21
DELETED
Автор поста оценил этот комментарий

Надеюсь, у меня опыта то около 3-4 месяцев

раскрыть ветку (6)
42
Автор поста оценил этот комментарий

Ебать) тогда то, что у вас бывает идея "что надо иногда переписывать, чтоб стало красивее" - уже охуительно)

10
Автор поста оценил этот комментарий

Все ещё впереди значит, 3-4 мес для такого пока маловато все же

раскрыть ветку (1)
6
Автор поста оценил этот комментарий

2-3 года, не меньше

Автор поста оценил этот комментарий

о каком тогда улучшении ты можешь говорить? за три месяца синтаксис-то не выучишь

раскрыть ветку (2)
4
DELETED
Автор поста оценил этот комментарий
Ну типа класс для констант создать :d
раскрыть ветку (1)
Автор поста оценил этот комментарий
Заходит дизайнер в ветку прогеров:
...создать класс для констант..

Алиса, как выглядит константа школьник.
(да, не Окей Гугл, а Алиса))
9
DELETED
Автор поста оценил этот комментарий

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


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

раскрыть ветку (10)
7
Автор поста оценил этот комментарий
В идеале все функции должны говорить о своем предназначении своим названием. Никаких сокращений в наименованиях функций, никаких транслитов и прочих попыток локализации.
Ну и содержимое функции не должно быть мультитулом. Одно действие - одна функция. Экономить на байтах в названии и количестве функций, значит изначально родить дремучий легаси, который ни кто, включая роженника, не сможет поддерживать уже через месяц
раскрыть ветку (9)
6
Автор поста оценил этот комментарий
Не соглашусь по поводу сокращений. Часто это доводят до абсурда.

вот есть обозначения времени и их сокращения.

milliseconds - ms
microseconds - us
и т.д.

разница в колве букв между полным именем и сокращением - огромная.

Также, с временем часто проводят математические манипуляции.

И если использовать полное именование, то получается пиздец большие и нечитабельные функции даже при простом выражении.

Типа
DateTime.now().toMillisecondsSinceEpoch() / millisecondsPerSecond + lifetimeInSeconds.

А могло бы быть
DateTime.now().toMsSE() / msPerSec + lifetimeInSec.

И это только 2 мат. Операции. А прикиньте какой нечитабельный пиздец происходит при работае с TimeSeries, если не использовать сокращения?

Это не только здесь. Есть ещё куча моментов, которые по непонятным причинам полностью пишут, хотя они капец капец как распространены и хер знает кто может их трактовать неправильно.

Repo - Repository
DB - Database

Так можно и HTML начать полностью расшифровывать. Нельзя же сокращать.
раскрыть ветку (7)
14
Автор поста оценил этот комментарий

Если что, то Ms - мегасекунды, а не миллисекунды (ms). Что значит SE догадаться в принципе невозможно.


Общеизвестные сокращения допускаются в названии. В большинстве конвенций это не является ошибкой. Но здесь не тот случай.


Я бы изменял не название методов, а написание изначальной формулы.

раскрыть ветку (3)
4
Автор поста оценил этот комментарий

Ms здесь обозначено только в силу camel case. Есть, конечно, рекомендации такие сокращения писать с больших буква, как IO, HTML, и т.д., но в данном случае, имхо, Ms приемлимо.

Каждый, кто сталкивается с временем, знает про UTC, знает выражение "Since Epoch" (он же SE), ну и всякие сокращения ms, us. Я, встретив схожее в одной из библиотек, сразу понял что к чему, т.к. ранее сталкивался с этим.

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

раскрыть ветку (2)
11
Автор поста оценил этот комментарий

Как отличить ms (мили) от Ms (мега), если используется camel case? Ответ: никак. Вывод: сокращение неуместно.


То, каким образом и как пишется (акронимы - большими или маленькими) определяется принятой в команде конвенцией. Это пустое обсуждение, поскольку мы, вполне вероятно,  используем разные конвенции.

раскрыть ветку (1)
4
Автор поста оценил этот комментарий
В контексте времени мегасекунды не используются. Так можно сказать "А мож Ms это MicroSoft". Не доводим до абсурда.
2
Автор поста оценил этот комментарий

Как минимум, надо вынести константу и не вычислять время в формуле. Тогда всё читается:


milesecondsSinceEpoch = DateTime.now().toMillisecondsSinceEpoch()


MILESECONDS_PER_SECOND = 1000


milesecondsSinceEpoch / MILESECONDS_PER_SECOND + lifetimeInSeconds


А если формула разрослась, то её надо делить на несколько формул.

раскрыть ветку (2)
1
Автор поста оценил этот комментарий

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


Вообще, я написал формулу для вычисления "exp"(expiration) строки для JWT. и выражение ниже

DateTime.now().toMillisecondsSinceEpoch() / millisecondsPerSecond + lifetimeInSeconds.


должно присваиваться переменной с наименованием типа "expiration".

Но плодение "промежуточных" переменных вызывает головную боль как их назвать то грамотно.

вот в данном контексте разве логично будет переменную назвать как ниже?

milesecondsSinceEpoch = DateTime.now().toMillisecondsSinceEpoch()


И в конечной формуле это превратится в

expiration = milesecondsSinceEpoch / MILESECONDS_PER_SECOND + lifetimeInSeconds.

Для меня переменная сразу должна сказать, нафиг она вообще нужна. Переменная
milesecondsSinceEpoch
ну как то вообще ни о чём. Что за миллисекунды с эпохи? Зачем они нужны? И на что конкретно они указывают? Для меня это как назвать переменную "data". Ну очень полезно. Корректнее тогда уж
currentDateTimeInMillisecondsSinceEpoch
но не легче тогда уж просто написать
DateTime.now().toMillisecondsSinceEpoch()

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Как называть переменные лучше уточнить в правилах проекта, в котором вы этот код оставите. Если их нет, то вынести на обсуждение и синхронизировать codestyle.

Иначе, может потом оказаться, что команда не поспевает за вашей гениальностью.


Если топить за "правильный" код, то  можно посмотреть clean code, например, или кого-то из оппозиционеров:

https://readlearncode.com/code-and-stuff/clean-code-variable...


P. S.

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


JWT_LIFETIME_SECONDS=200


Calendar tokenExpirationDate = Calendar.getInstance();


tokenExpirationDate.add(Calendar.SECOND, JWT_LIFETIME_SECONDS);

2
Автор поста оценил этот комментарий
СВОБРЮЛ, СВРЕГЮЛ, СВНАЛУЧ... Это из базы ФНС - сведения об образовании юридического лица, сведения о регистрации юридического лица, сведения о постановке на налоговый учёт...
Так делать не надо. Но хотя бы гуглится, и на том спасибо.
3
Автор поста оценил этот комментарий

Деды ебашили одну функцию main и она работает как часы до сих пор ещё с 60-х


А нынче 100500 абстракций-хуякций и при этом ниче не работает! Чем код лучше, тем хуже - запомни это, сынок!

раскрыть ветку (3)
2
DELETED
Автор поста оценил этот комментарий

в 60 программы были проще, иначе потребность в ооп и абстракции бы не возникло, имхо.

раскрыть ветку (2)
1
Автор поста оценил этот комментарий

Ну даа, инерциальная система управления ядерной ракетой, конечно, проще чем приложение для доставки пиццы например

раскрыть ветку (1)
0
DELETED
Автор поста оценил этот комментарий
Сложно сказать, а система управления выдерживает нагрузки в тысячи запросов в единицу времени и успевает их обрабатывать и реализовывать не захлебнувшись? А вообще спор ни о чем, если бы бизнесу не нужно было приложение для пиццы "уже вчера" а давали бы на это лет 10 то и писали бы себе без абстракций хоть на ассемблере, но увы время дороже всего на этом свете)
1
Автор поста оценил этот комментарий

По итогу снова возвращаемся к чистым функциям и в ус не дуем

2
Автор поста оценил этот комментарий
Пускать код по кругу
2
Автор поста оценил этот комментарий

И только мой как УАЗ буханка

DELETED
Автор поста оценил этот комментарий

Пускать по кругу коллегу? Интересная у вас работа.

7
Автор поста оценил этот комментарий

Фачит, а потом рефачит?

9
DELETED
Автор поста оценил этот комментарий
Всем спасибо за ответы . Товарищи , я далек от программирования , так один раз Винду обновил и Линукс поставил для домашнего пользования.
Английский язык не знаю вообще , родители переезжали и я менял пару школ и учил французский и немецкий ,ну как учил от дождя прятался .
раскрыть ветку (1)
12
Автор поста оценил этот комментарий

Побольше бы таких увлекательных историй!

2
Автор поста оценил этот комментарий
Я думала это от чешской поговорки про "перетрахать"
2
DELETED
Автор поста оценил этот комментарий

Refuck

0
Автор поста оценил этот комментарий

что мешает сразу писать нормально? времени это занимает не сильно больше.

раскрыть ветку (1)
6
Автор поста оценил этот комментарий

Требования бизнеса склонны меняться со временем.

Упреждая вопрос: нет, бизнес сразу крупным построить практически невозможно)

ещё комментарии
3
Автор поста оценил этот комментарий
Улучшайзинг
0
Автор поста оценил этот комментарий
переёбывает
ещё комментарии
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку