Комментарии 99
Надеюсь, это шутка
он по всему интернету уже разнёс это.
через год, ожидайте в сурковом ынтырпрайзе.
Нужно донести эту гениальную мысль до англоговорящих и тогда посмотрим как залетит
Перевод изначальной статьи есть на Medium, им пока не заходит :(
Если эта понравится больше то попытаюсь перевести ещё раз
https://medium.com/@xbt573/sosal-revolutionary-social-programming-methodology-4ff635938cd9
Сделайте лендинг, прикиньтесь центром сертификации SOSAL, глядишь, кто-нибудь с ликендина и зацепится. Может, даже спросят, как сертифицироваться. С govno.works так и случилось :)
Currently, SOSAL/GOVNO does not make any sense
трудно было ожидать какой-либо другой реакции.
Я написал автору там что неблагозвучно звучит :) пусть хотя бы знает
с той стороны уже постучали. где-то пролетало про v-j-чего-то там. какая-то модель, что-ли. не то языковая, не то вибросамохвата...
Enterprise Business Adaptive Logic
Шутка затянулась.
Возможно действительно если больше сосать то это улучшит качество программирования. Ждём отзывов.
Рекомендую ознакомится с комментариями к первой статье. https://habr.com/ru/articles/914998/comments/
Там можно найти отзывы о этом и других "подходах", а также предложения о их "модификациях".
За аннотацию вида
Exists это функция, которая показывает существует объект или нет
// Возвращаемое значение exists показывает существует ли объект, ok равен false если не удалось получить объект
Я бы достал линейку и начал ей грозно покачивать в сторону юного пейсателя
Да, комментарий вышел неудачный, если вы можете предложить что-то более интуитивное то я с радостью дополню этим свою статью
Достаточно очевидно, что комментарий должен быть написан с учётом людей со специальными возможностями:
// Функция.
// Функция Exists(x any) проверяет, существует ли значение x
// (не nil и не нулевое, иначе поведение неопределено).
// Возвращает exists (true, если значение существует) и
// ok (true, если проверка успешна), если удалось получить объект
//
// @param x значение x (икс), тип any
//
// @return функция возвращает exists (true, если значение существует)
// и ok (true, если проверка успешна)
//
// Тело Функции Exists.
func Exists(x any) (exists, ok bool) {
...
}
// Конец Функции Exists(x any)
Ведь согласно методологии, программист должен писать социально-ориентированный код.
Когда так критикуете, можете прикладывать пример, как по вашему мнению бы выглядел комментарий, который не заставил бы вам "достать линейку"?
ExtremeCode открыли свой филиал на Хабре?
SOSAL?
// хорошо
function pow( x, n ) {
let result = 1;
for ( let i = 0; i < n; i++ ) {
result *= x;
}
return result;
}
в итоге так читаемее на сколько бы не был большой файл, если между функциями будут еще больше отступы я по себе заметил будет еще читаемее, но тогда скролить просто больше придется
впринципе под такое даже специальный парсер можно написать если очень надо, чтобы удалять лишние отступы сохраняя только текст, проверить в редакторе можно выделив текст, в некоторых редакторах можно увидеть что выделяются лишние отступы вот эти отступы можно ловить парсером, ну я так делаю(1 раз сделал, чтобы вообще была возможность потом прочитать код), может это на любителя
вообще это старый стиль я его увидел в варианте на каком-то ресурсе какой-то версии Unix, там типо парочка примеров была и там код мега читаемый из-за этого
почему антипример плохой, потомучто слова и участки кода из букв или слов, сливаются только для машины типо того, я мог бы обьяснить более глубже, но это может быть не интересно просто, тоесть засечки-вектора-палочки они же слова-буквы должны быть интервально-характерно для человека разделены, наверно тоже самое относится и к отступам, ну потом просто читать можно код типо того
if(r.length()==1&&r.contains("}")){countCCCC--;}
else if(r.length()==2&&r.contains("};")){countCCCC--;}
for(int i=0;i<countCCCC;i++){if(r.equals("")){}else{ttt+=" ";}}
if(r.length()==1&&r.contains("}")){countCCCC++;}
else if(r.length()==2&&r.contains("};")){countCCCC++;}
if(current.equals("*")&&next.equals("/")){ Green); Green);previous = current;current = next;next = it.hasNext() ? it.next() : null; break; }
иногда правда без одной строки не обойтись ставить там отступы бесполезно )
Сколько было уже сказано. Все зависит от контекста.
Контекст понятен по названию функции. Логических блоков внутри функции нету.
Вот результат:
function pow( x, n ) {
let result = 1
for ( let i = 0; i < n; i++ ) result *= x;
return result;
}
Нужно уметь не просто отделять операторы и тп друг от друга. А уметь отделять логические блоки друг от друга
Код выше, что был заминусован выглядит просто отвратительно
Я бы попробовал оформит его близко к этому (хотя к нему вопросов куда больше):
if ( r.length() == 1 && r.contains("}") ) countCCCC--
else if ( r.length() == 2 && r.contains("};") ) countCCCC--
for( let i = 0; i < countCCCC; i++ ) if (!r.equals("")) ttt+=" "
if ( r.length() == 1 && r.contains("}") ) countCCCC++
else if ( r.length() == 2 && r.contains("};") ) countCCCC++
if ( current.equals("*") && next.equals("/") ) {
previous = current
current = next
next = it.hasNext() ? it.next() : null
break
}
Это скажем так без без контекста.
Код в одну строку это не так страшно, если логически он делает конкретную вещь. Какой смысл ее расписывать в 20 строк?
Вы всегда можете подписать выше, что он делает по контексту, например:
// Возвращаем true если файл myfilename.txt найден
for (const fn of this.getFileList) if (fn === "myfilename.txt") return true
Часто лучше обернуть тело цикла в метод , что бы изолировать логику и вписать ее в одну строку.
Например:
globalInit(){
// ...
// Инициализация устройств
for (const device of this.service.devices) this.initDevice(device)
// ...
}
В таком случае можно легко отделить логические блоки и не разбирать кучу контекстно ненужного вам кода.
PS: Если что я понимаю, что статья про юморок а не про программирование
да, вы правы, там уже такой код что хорошо что работает, я его без дебугера писал, отступы делал как в текстовом формате, потомучто чувствовал что потом буду его именно читать(да и пример я увидел 1 раз оформления кода ссылку потерял к сожалению), и так оно и случилось поэтому мне лично пока удобно ставить отступ как в текстовом документе, а как еще читать 5 тыщ строк, маленькие сжатые функции будут неудобны если не рассматривать правильность не правильность что всё в одном файле, придётся оформлять код к чтению именно в этом есть смысл, если текстовый редактор по метрике работает текст(екран текста), то там еще круче сделать можно на екран по функции
Ближе к концу перетолстил. Когда остаётся постиронией, самое забавное
Проорал про generateAESIGE
Надо ещё уточнить что есть не только паттерны, но и антипатерны, например DRISTAL, или известная в простонародье как стрельба дробью. Код как бы размазывается по проекту
SOSAL?
Да, я использую SOSAL в своих проектах
Украду коммент с предыдущей статьи:

Так SOSAL или нет?
ОО
Это лучшее, что я читал за последнее время
Чтобы написать комментарий даже зарегистрировался здесь.
Какой подход к програмированию используете сосал?
Предлагаю следующий этап развития методологии назвать Next Advancement SOSAL (NASOSAL) - когда адепты SOSAL смогут показать результат своей деятельности, так сказать, похвастаться перед сообществом.
Это уже какой-то метавёрс получается. Там и PODSOSAL и VSOSAL и NESOSAL и прочие диалекты
Ещё забронировать sosal.net, что бы делиться открытым кодом с применением методики
Это троллинг? Архитектура c# например по умолчанию поддерживает эту методологию.
C# - SOSAL, да. Вообще, многие языки и фреймворки поддерживают. Но важно чтобы у автора кода SOSAL был частью повседневной практики, а не просто ещё одним умением, как DDD или SCRUM - которые, по факту, нужны и вспоминаются только на собеседованиях
Буквы специально подобраны чтобы поддерживать смысловую аналогию с размножением видов? :D
В статье не хватает пункта, что после освоения подхода SOSAL начинающим разработчикам рекомендуется сразу начинать практиковать методологию GLOTAL - Guided Lean-Oriented Test & Agile Lifecycle.
Не, ну это просто гениально, мне нравится
пора выключить себе интернет.
Были также предложены различные варианты названия, такие как LASSO и LASOS

Ну вы поняли да?

Скажите честно, вы, как в фильме "день выборов", всю статью придумали ради названия?
Просто функции отделяю, всё равно там их на сотни КБ, так что лишние строки наоборот усложнят перелистывание кода
Лучше уже не будет. Эта идея уникальных методик, подходов и "сильных" аббревиатур пришла к своему логическому завершению.
статья шуточная конечно, но всё по делу, придётся писать (или даже интегрировать туториал, например справка по кейбиндам, в репе придётся описать все функции - возможности, и хайлоад придётся тоже сделать - eg многопоточка чтобы разгрузить уи например от тяжелой задачи - убрать в фон, ну и от визуала если отходить придётся делать дружественный интерфейс ))
дойти бы до этого в С++, пока я до этого допрыгнул на java ))
Именно это поможет поднять программирование в стране, во многих смыслах.
Я сосал, меня .. Простите, трудно удержаться от слез :D
О каком захвате мира нейросетями идёт там речь?))
Скрытый текст

Я SOSAL меня EBALI
(EBALI - Enhanced Business Application Logic Improvement)
Надо уже обучить модель, чтобы она уже писала код согласно рекомендациям.
Я хочу сказать так - весь год я был хорошим мальчиком и заслужил эту статью! Да, первую пропустил(
Мне одному заметилась аббревиатура перевода Learning Driven Logic?
Проект PIDOR канул в лето
https://github.com/ApplePride/PIDOR
Но интересна теоретическая возможность сочетания архитектуры PIDOR для IOS приложений с подходом SOSAL

Аналитика должна соответствовать идеологии Holistic User Insight
И не забываем про подход Performance Indicator Zero-Delay Analysis
А как же Хороший Учебный Язык (ХУЯ)?
https://github.com/tsoding/good_training_language
[V]irtually
[Z]ero-code
[A]gile
[D]evelopment
это очень хорошо. Причем мне нравится, на какиих серьёзных щах все это обсуждается. Я очень хочу посмотреть, как какой-нибудь иностранец не выкупит тонкий айтишный юмор ( для англоговорящих юзеров SOSAL - это просто аббревиатура безо всякого подтекста) и через годик мы увидим доклад про это на какой-нибудь серьёзной научной конференции. Вот тогда действительно можно будет сказать, что шутка зашла слишком далеко
Слава богу, это запретили в России.
От теории... к практике? 😐
https://habr.com/ru/articles/550926/ тут удобнее обьяснено кстати)
На 10 минуте смеха от комментариев у меня пошли слезы))
Я не программист, поэтому не SOSAL
С названием надо бы поработать
Эх... а были же ещё статьи про чудо метод, взлома криптостойких алгоритмов в которых скорость перебора паролей не зависела от используемого алгоритма шифрования и длинны ключа =) и по сей день этот метод взлома позволяет приодолеть практически любую крипто защиту =)))) как бы дорого компания за него не платила...
Тюремная идеология проникла в России даже в айти. Молодцы!
Описанные тут принципы не являются сводом правил, как было сказано в статье. Они сильно полагаются на экспертизу инженера и здравый смысл, который у всех заканчивается в разных местах
Также слабо приведены профиты от данных принципов, считая, что они очевидны сами по себе. Лично для меня очевидны, но будут ситуации и люди, для которых это не так. Применение данных принципов в моменте несет дополнительные накладные расходы для применения, которые не дают ощутимой ценности в моменте (но важны вдолгую). Из-за этого будут проблемы с сопротивлением
Да что вы так расхохотались то? Вон последовательный компьютерный интерфейс для накопителей называется SAS и ведь никто точно ни о чём не думал). Странные аббревиатуры везде есть и это норма.
Очень ждем продолжения статей
SOSAL: От теории к практике