Обновить

Комментарии 100

Надеюсь, это шутка

НЛО прилетело и опубликовало эту надпись здесь

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

Перевод изначальной статьи есть на Medium, им пока не заходит :(

Если эта понравится больше то попытаюсь перевести ещё раз

https://medium.com/@xbt573/sosal-revolutionary-social-programming-methodology-4ff635938cd9

Сделайте лендинг, прикиньтесь центром сертификации SOSAL, глядишь, кто-нибудь с ликендина и зацепится. Может, даже спросят, как сертифицироваться. С govno.works так и случилось :)

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь

Я написал автору там что неблагозвучно звучит :) пусть хотя бы знает

НЛО прилетело и опубликовало эту надпись здесь

Enterprise Business Adaptive Logic

Enterprise Business Adaptive Logic Integration

Шутка затянулась.

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

Рекомендую ознакомится с комментариями к первой статье. 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)

Ведь согласно методологии, программист должен писать социально-ориентированный код.

Когда так критикуете, можете прикладывать пример, как по вашему мнению бы выглядел комментарий, который не заставил бы вам "достать линейку"?

GOVNO

да

НЛО прилетело и опубликовало эту надпись здесь
// хорошо
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; }

иногда правда без одной строки не обойтись ставить там отступы бесполезно )

Ну, если вы строки на равенство проверяете через длину и contains, а ваши переменные называются countCCCC и ttt - то да, отступы тут и правда бесполезны.

Сколько было уже сказано. Все зависит от контекста.

Контекст понятен по названию функции. Логических блоков внутри функции нету.

Вот результат:

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 GONVO PIDOR?
SOSAL GONVO PIDOR?

Так SOSAL или нет?

Да, про это вся статья

SOSAL, so.su и sos.at (Ленин жил, Ленин жив, Ленин будет жить)

GOVNO вопрос, LIZAL, может быть?

ОО

Это лучшее, что я читал за последнее время

Чтобы написать комментарий даже зарегистрировался здесь.

НЛО прилетело и опубликовало эту надпись здесь

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

Какой подход к програмированию используете сосал?

да

Шёл 2025 год, на Хабре придумали подход, противоположный suckless

Предлагаю следующий этап развития методологии назвать Next Advancement SOSAL (NASOSAL) - когда адепты SOSAL смогут показать результат своей деятельности, так сказать, похвастаться перед сообществом.

Это уже какой-то метавёрс получается. Там и PODSOSAL и VSOSAL и NESOSAL и прочие диалекты

В данном случае либо NASOSAL либо NEDOSOSAL.

Иного не дано, — соотвественно оригинальной концепции естественно))

Да просто заголовок ваще неправильный. Надо: " OT SOSAL теории к практике"

Ещё забронировать sosal.net, что бы делиться открытым кодом с применением методики

НЛО прилетело и опубликовало эту надпись здесь

.net уже давно опенсурс и прекрасно соответствует принципам SOSAL. Вообще, этим принципам ms всегда соответствовала.

НЛО прилетело и опубликовало эту надпись здесь

Это троллинг? Архитектура c# например по умолчанию поддерживает эту методологию.

C# - SOSAL, да. Вообще, многие языки и фреймворки поддерживают. Но важно чтобы у автора кода SOSAL был частью повседневной практики, а не просто ещё одним умением, как DDD или SCRUM - которые, по факту, нужны и вспоминаются только на собеседованиях

Это так. С момента создания этого подхода, я стараюсь использовать SOSAL во всех своих проектах и даже маленьких фрагментах кода

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

Может я что-то упускаю, но мне кажется, что виды так не размножаются.

"Так вот что мы делали не так эти 10 лет!"

Мужики, да вы что?!

НЛО прилетело и опубликовало эту надпись здесь

В статье не хватает пункта, что после освоения подхода SOSAL начинающим разработчикам рекомендуется сразу начинать практиковать методологию GLOTAL - Guided Lean-Oriented Test & Agile Lifecycle.

НЛО прилетело и опубликовало эту надпись здесь

Не, ну это просто гениально, мне нравится

пора выключить себе интернет.

Были также предложены различные варианты названия, такие как LASSO и LASOS

LA SOS?
LA SOS?

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

Скажите честно, вы, как в фильме "день выборов", всю статью придумали ради названия?

А вы ещё не поняли? Троллинг такой

НЛО прилетело и опубликовало эту надпись здесь

В первый раз было немного забавно, во второй уже не смешно

НЛО прилетело и опубликовало эту надпись здесь

Просто функции отделяю, всё равно там их на сотни КБ, так что лишние строки наоборот усложнят перелистывание кода

НЛО прилетело и опубликовало эту надпись здесь

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

дойти бы до этого в С++, пока я до этого допрыгнул на java ))

Именно это поможет поднять программирование в стране, во многих смыслах.

Я сосал, меня .. Простите, трудно удержаться от слез :D

НЛО прилетело и опубликовало эту надпись здесь

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

Я хочу сказать так - весь год я был хорошим мальчиком и заслужил эту статью! Да, первую пропустил(

Мне одному заметилась аббревиатура перевода Learning Driven Logic?

Проект PIDOR канул в лето
https://github.com/ApplePride/PIDOR

Но интересна теоретическая возможность сочетания архитектуры PIDOR для IOS приложений с подходом SOSAL

Схема архитектуры PIDOR
Схема архитектуры PIDOR

Аналитика должна соответствовать идеологии Holistic User Insight

И не забываем про подход Performance Indicator Zero-Delay Analysis

НЛО прилетело и опубликовало эту надпись здесь

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

От теории... к практике? 😐

На 10 минуте смеха от комментариев у меня пошли слезы))

НЛО прилетело и опубликовало эту надпись здесь

Я не программист, поэтому не SOSAL

С названием надо бы поработать

как по мне всё идеально

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

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

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

Да что вы так расхохотались то? Вон последовательный компьютерный интерфейс для накопителей называется SAS и ведь никто точно ни о чём не думал). Странные аббревиатуры везде есть и это норма.

Очень ждем продолжения статей

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

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации