Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как оптимизировать функцию на OpenCV?

Лучший ответ:
Мне кажется, надо порядок условных операторов поменять (h * 1.2 > h > h *0.8). В текущем варианте h * 1.2 не будет (поскольку первое условие выполнится).
Можно не сортировать массив cnts а просто найти максимальный элемент, зависит от характера масок, как много там контуров обычно будет находится, может быть совсем неощутимо.
Из очевидного, что касается именно opencv - нету смысла всю картинку переводить в lab, если потом вырезается roi. Сначала вырежьте roi, а потом переводите в lab. Аналогично можно сделать с mask_hard (хотя если использовать адаптивные методы бинаризации, то результат может немного отличаться по краям roi)
Не так хорошо знаком с opencv для python, но в версии для c++ по умолчанию используется распараллеливание, где возможно. Имеет смысл собирать библиотеку с openmp / tbb и смотреть, что какой дает прирос.
Если обрабатывается пачка картинок, то явно запускать в несколько потоков, аггрегируя результаты, если это необходимо.

Худший ответ:
Вот у тебя там несколько вызовов для обработки всех пикселей изображения. Операция тяжелая для процессора, там миллионы пикселей, и каждый надо обработать. Это именно то самое место, которое надо распараллелить на несколько ядер. Я не знаю, распарраллеливает ли OpenCV это дело, но ты можешь глянуть исходники на гите, там все будет ясно. Если нет распараллеливания, то придется этим заняться тебе и некоторые вещи считать вручную. Увы.
Вопрос: Как сделать чтобы php doc работал в Laravel 6.x во view blade phpstorm?

Лучший ответ:
Ждать пока в phpstorm обновится плагин для laravel.

Худший ответ:
Посмотрите эту заметку.
Вопрос: Какие книги по сетям посоветуете (нужны актуальные данные)?

Лучший ответ:
Какую книгу читать по компьютерным сетям?
Какие книги по сетям передачи данных вы считаете лучшими?
Наиболее полная книга по компьютерным сетям?
Самая кошерная книга по сетям?

Худший ответ:
поверхностному DevOps инженерингу (для примера я работал с Docker, Ansible, и по минимуму с k8s)
А причем тут девопс?

Ansible это инструмент оркестрации из системного администрирования 
Docker это инструмент контейнеризации для разработчиков, кубер - оркестрация этого.

Девопс - это про методологии, организацию процессов. А инструменты - обычная автоматизация инфраструктуры проекта и CI/CD. Это больше про configuration engineering
Вопрос: Влияет ли магнит на аккумулятор смартфона?

Лучший ответ:
Нет, не влияют абсолютно.

Худший ответ:
Влияет ли магнит на литиевый аккумулятор телефона?
Вопрос: Есть самый дешевый способ отправки SMS кодов активации?

Лучший ответ:
Как вариант использовать отправку этого кода на телеграмм или просто пушить их. Но в общем то я просто подписался что бы услышать варианты

Худший ответ:
Есть вариант дозвона. Звонить с рандомного номера без установки соединения. Клиент вводит номер, с которого звонили. Определитель-то точно есть.
Вопрос: Быстрый видеоредактор для небольших изменений видео?

Лучший ответ:
https://ffmpeg.org/
Склейка видео:
https://ru.stackoverflow.com/questions/450463/%D0%...
https://stackoverflow.com/questions/7333232/how-to...
Водяной знак:
https://stackoverrun.com/ru/q/10906695
https://stackoverflow.com/questions/10918907/how-t...

Худший ответ:
Можно попробовать MAGIX Vegas
Вопрос: Функция round() не работает, что делать?

Лучший ответ:
1. Сходи в среднюю школу, где тебе расскажут, что такое комплексные числа
2. Прочитай книжку (любую) по программированию, где тебе расскажут, как работают float (а в данном случае два float — complex) в компухтерах
3. In [2]: D = (11.180339887498949+0j)                                                                                                                                  

In [3]: complex(round(D.real), round(D.imag))                                                                                                                        
Out[3]: (11+0j)

Худший ответ:
Зачем вы вычисляете комплексное число, если оно вам не нужно?import math

D = b**2 - 4*a*c;
dk = math.sqrt(D)
dk = round(dk)
Вопрос: Что такое android SDK?

Лучший ответ:
Android studio - это IDE(что-то вроде продвинутого блокнота). А SDK - это набор утилит, библиотек и прочего. Можно скачать SDK и собрать приложение без Android Studio.

Худший ответ:
https://yandex.ru/search/?clid=2186623&text=SDK&lr... 

второй вариант, тут же. Ну неужели это так сложно, там все подробно расписано, не хочется подробно, есть кратко.
Как вообще можно сравнивать пакет библиотек и ide
Вопрос: Как перестраховатся от кражи идеи для мобильного приложения?

Лучший ответ:
Стопроцентной гарантии нет.
Авторского права на идею не существует.
Разработчик, может быть, специально к тебе подослан.
Ты можешь выболтать  идею мобильного приложения во сне.
Лучшее, что ты можешь сделать - забыть свою идею. Если получится - тогда точно не украдут.

Худший ответ:
Есть nda, но доказывать тяжело очень)
Вопрос: Нормальная ли конфигурация пк?

Лучший ответ:
Ответить на вопрос можно только зная финансовые возможности и зная какие задачи будут выполняться на ПК
В целом - выглядит относительно сбалансированно. Единственное, что ssd на 120ГиБ - это катастрофически мало. Рекомендую рассматривать модели объемом 256ГиБ - 512ГиБ. Тогда не будете испытывать болей навроде "винда накачала апдейтов - место закончилось"

Худший ответ:
Ссд - 512
Оперативку - попроще
Куллер на проц- можно тоже чуть попробе башню
Видеокарту - реально лучше 2060 взять
Блок питания - я советую брать Термалтейк
Вопрос: Как отобразить только определенные элементы из массива в цикле v-for во Vue JS?

Лучший ответ:
Я так понимаю надо какой-то фильтр применить для отображения?
Можно и фильтр:

filters: {
  numberOnly: val => /^\d+$/.test(val) ? val : '',
},
<div v-for="n in squares">
  {{ n | numberOnly }}
</div>
Но не обязательно:

<div v-for="n in squares">
  {{ Number.isNaN(+n) ? '' : n }}
</div>
Если знаете, в каких местах находятся нужные элементы, то

<div v-for="(n, i) in squares">
  {{ i % 11 ? '' : n }}
</div>
Или, если знаете сами элементы:

data: () => ({
  itemsToShow: [...Array(10)].map((n, i) => `${i + 1}`),
  ...
}),
<div v-for="n in squares">
  {{ itemsToShow.includes(n) ? n : '' }}
</div>

Худший ответ:
Если нужно отобразить контейнер, но без названия
<div
        class="chars square" v-for="square in squares" :key="square">{{ %conditional% ? square : ''}}
      </div>
Вопрос: Где найти файл со всеми ВРЕМЕННЫМИ альясами в linux?

Лучший ответ:
man alias

в вашем случае просто введите alias
Будут  выведены все алиасы

Худший ответ:
Такого файла не существует. Алиасы ж, вроде бы, все в памяти процесса баша лежат в соответствующей структуре. Эта структура не персистентна и загружается в ходе чтения .bashrc, а также пополняется командой alias.
Вы с тем же успехом можете искать файл, где лежит текст, который вы только что написали в командной строке.
Вопрос: Периодически виснут сайты — 502 Bad Gateway?

Лучший ответ:
Заведомо непонятный ход с 1 винтом, да ещё и не в RAID. Да, SSD улучшит положение дел, и возможно решит данную проблему. Такой конфиг только под домашний веб-сервер можно использовать.
Но на будущее, если сайтов больше 3-5, делайте RAID массив. Это ускорит работу и поможет сохранить данные в случае смерти одного из винтов.

Худший ответ:
Вангую - СУБД не справляется. Убедиться, что это так, добавить нужные индексы.
Вопрос: Может ли дизайнер интерфейсов стать менеджером продукта?

Лучший ответ:
Если цель - большая, ничем не ограниченная прибыль, то нужно открывать свой бизнес. Менеджера продуктов при этом вы сможете нанять. Суть в том, что он будет на зарплате, а вся мега прибыль достанется вам. Но это только в случае успеха. А в случае провала вы будете в проигрыше. Поэтому это риск. Таким образом, если вы хотите очень больших денег, то придется сыграть в эту опасную игру.
Если ваша цель - стабильность, то лучше остаться на текущем месте.
Если ваша цель - стабильность с высокой зарплатой, то лучше стать профессионалом в своей области. Делать при этом лучше то, к чему у вас лежит душа и чем вы готовы заниматься не ради денег, а ради самого дела. Сфера деятельности при этом практически не важна. В какой-то момент вы просто становитесь крутым, и можете управлять другими людьми и обучать их. Лидом. Или просто очень уважаемым уникальным спецом, который может то, что больше никто не может.
Вы можете похвастать тем, что вы реально крутой дизайнер интерфейсов? Вы можете гарантировать, что ваши решения значительно повысят прибыль с продукта? На рынке вы такой 1 на 1000? Тогда просто требуйте себе соответствующую цену.
А сменив сферу деятельности, вам придется окунуться, например, в математику, цифры. Вы к этому готовы? Это не будет слишком скучно? Ведь в это придется уйти с головой, чтобы вырасти.
Как компромиссный вариант, можете остаться в текущей сфере, но при этом начать интересоваться другой сферой. Читать статьи, книги, заводить соответствующие знакомства, получить профильное образование на курсах или как второе высшее и т.д. Если у вас есть силы и уверенность в том, что вам это интересно, то почему бы и нет? В любом случае, дополнительные знания лишними не будут. А есть ли у вас эти силы и желание, решайте сами.

Худший ответ:
Продуктовым дизайнером может стать даже человек, который не был ни программистом, ни дизайнером, а с самого начала обучался в сторону управление проектом.
Дизайнер тоже может быть технически подкованным, точнее он обязан им быть, иначе он не будет понимать как разрабатываются интерфейсы, а значит не сможет нарисовать для них нормальную оболочку.psОпять все ради денег, куда катится рынок труда...
Вопрос: Стоит ли отображать рубрики в url?

Лучший ответ:
1. Path не должен быть пустой (чисто из адекватных соображений), т.е. страница site-name.ru/category-name не должна вести на 404 или пустую.
2. Если руководствоваться логикой частотности запросов, то страницы категорий вполне могут стать посадками под высоко\среднечастотные.
3. Иногда генерируемые урлы от рута (сразу за site-name.ru/) могут привести к крашам, так как могут быть слабо отрегулированы под уникальность, да или другие конфликты в url-менеджере могут возникнуть.

Худший ответ:
Я делаю классическое site-name.ru/category-name/article-name.html
Сайты великолепно ранжируются, 85%  + ключей в топ 10 заходит. Инфосео.
Но это сумма факторов, в котором структура сайта лишь маленький кирпичик.
Вопрос: Запрет одному из сайтов полностью грузить сервер, как?

Лучший ответ:
Что именно грузит? Cgroups может помочь. Можно некоторые ограничения для MySQL пользователя сделать.
Если нагрузка легальная, то ограничения вам не помогут. Ищите источник.

Худший ответ:
Развести по контейнерам/виртуалкам и ограничить их по выделенным ядрам.
Вопрос: Ка сделать синхронизацию времени на Windows при входе в систему?

Лучший ответ:
я не могу добавить свой триггерможете

Худший ответ:
я не могу добавить свой триггерможете
Вопрос: Как выдрать из строки нужные символы зная позиции?

Лучший ответ:
...
  var fn = "N54E026.hgt";
  var c1 = fn[0];
  Console.WriteLine($"первый символ {c1}");
...
  var d2 = fn.Substring(1, 2);
  Console.WriteLine($"фрагмент из 2х символов, начиная со второй позиции {d2}");
  if(int.TryParse(d2, out var n2))
    Console.WriteLine($"численное значение d2 {n2}");
...

Худший ответ:
Используйте метод ToCharArray() для перевода строки в массив символов. Например:string fileName = "N54E026.hgt";
    char[] chars = fileName.ToCharArray();
            
    var first = chars[0];
    var second = chars[1] + chars[2];
    var third = chars[3];
    var fourth = chars[4] + chars[5] + chars[6];
Вопрос: Где учиться на IT рекрутера?

Лучший ответ:
Существуют онлайн и офлайн курсы для it рекрутеров (можно погуглить по крупным городам), но наверно стоит пообщаться с рекрутерами на linkedin, кто уже сделал подобный переход - они легче всего могут объяснить, что подтянуть

Худший ответ:
Такие курсы есть у гикбрейнс, отус, скилбокс, нетологии.
В университетах (по крайней мере в Екб) есть подобные курсы повышения квалификации.

И что-то мне подсказывает, что рекрутер, владеющий сорсингом, должен неплохо уметь гуглить самостоятельно)
Вопрос: Как найти наставника/ментора для веб-дизайнера?

Лучший ответ:
Сложно однозначно ответить на этот вопрос, сначала хотелось бы посмотреть на ваше портфолио, чтобы понять - все ли так плохо как вы говорите, или это очередной "синдром самозванца"?
В дизайне есть определенные вещи, делая которые, вы сможете расти в уровне постоянно:
1. Не забывайте, что по UX дизайну, основной базовый материал находится в книгах, и желательно читать регулярно, и выделить себе под это какое-то время. Читать надо не только по веб-дизайну, нужно читать книги по психологии, по теории цвета, типографики, дизайна в целом - это очень хорошо расширяет кругозор и помогает изменить мышление.
2. Behance.net - ваш самый первый сайт, который вы посещаете при открытие компьютера. Я бы рекомендовал 40 минут в день выделять на то, чтобы просматривать топовые и не топовые работы, чтобы сравнивать их, давать им устную критику, пытаться вдуматься в логику (почему так сделано так, а не иначе) - это все, сформулирует в вас культуру веб-дизайна, вы поймете как делать красиво, и со временем будете делать все лучше и лучше. Плюс, смотря на другие работы, у вас в голове отложатся шаблоны разного вида функционала, и вы сможете решать одну задачу несколькими путями.
3. Практика должна быть постоянной, если есть свободное от заказов время - используйте его на свои наработки, потому что только свои проекты помогут вам создать свой стиль. Заказчик вечно будет не доволен разнымит деталями дизайна и каждый раз вы будете двигать кнопку так, как захотел заказчик, а не позволяет логика - это будет портить ваш дизайн, портить все ваше представление о дизайне. Поэтому я считаю, что очень полезно делать свои проекты - берите любое ТЗ в интернете, открывайте любой сайт и делайте ему ре-дизайн, выкладывайте это в портфолио - это заметно повысит ваш уровень.
4. Ну и не забывайте, дизайн он везде, не только в веб-интерфейсах, поэтому очень полезно интересоваться всеми ближними сферами, смотрите на тренды, смотрите как делают люди - это построит целостное понимание, как сделать красиво.
Ну и если нужны советы - можете писать мне, мои контакты указаны в профиле.

Худший ответ:
Не знаю насколько живой сайт, но можете попробовать здесь https://mentorforces.com/
Вопрос: Есть ли резон переучиться на программиста?

Лучший ответ:
В IT, если говорить о простых исполнителях, мало кому нужны люди за 40 - они в силу возраста работают медленнее, чем программисты 25+ лет. Кто бы что не говорил и не писал на профильных сайтах о 90-летних программистах.  
40-летний юнга - это из разряда фантастики. Вы будете себе чувствовать, мягко сказать, плохо, работая в коллективе профессионалов кому нет и 30, со временем это выльется в комплекс неудачника. В 41 вряд ли освоите все быстро, пройдет 3-5 лет и вам уже 46. 
Легче в такси устроиться. Основой посыл - более высокая зарплата Высокая зарплата - это миф. Она не дается просто так. Это результат многих лет изучения и практики, это путь длинной во многие годы.

Худший ответ:
В среднем:
Полгода трейни
2-3 года джун
Потом миддл
Вопрос: Что означает индекс в выводе var_dump для объекта?

Лучший ответ:
А вы про какую версию спрашиваете? Синтаксис var_dump для объекта выглядит как: https://github.com/php/php-src/blob/PHP-7.2/ext/st...%sobject(%s)#%d (%d) {
В самом начале возможен символ & - если это ссылка.
Второй %s - имя класса.
следующий %d - идентификатор объекта
последний %d - число свойств объекта
Что немного не похоже на object(PDO)[1]. Да и не менялся формат уже давно.

Худший ответ:
емнип, это просто внутренний идентификатор.
Вопрос: Как работают медиазапросы, почему не работает?

Лучший ответ:
max-width означает "до" (включительно)
min-width означает "от" (включительно)
т.е. у вас стили применяются на ширине браузера до 992px включительно
Начиная с 993 эти стили отключаются.
max-device-width: 1400px
означает "размер дисплея до 1400". Дисплея (устройства), не браузера.

Худший ответ:
@media screen and (max-width: 992px)
Нет одного и единственного решения при выстраивании адаптива. Всё зависит от дизайн-конструкции.
Данный запрос никак не относится к устройству, а лишь к разрешению экрана устройства. 992px - это примерно стандартное разрешение Laptop(Нетбук), а не Notebook(Ноутбук).
Вы должны отталкиваться от удобства просматривания контента на определенных разрешениях, а не устройствах. DevTool в хроме позволяет просматривать контент на любом девайсе(применяя разрешения экрана данного устройства).
Вопрос: Какую CMS лучше выбрать для блога?

Лучший ответ:
Попробуйте OctoberCMS на базе laravel. Для него как раз недавно адаптировали Gutenberg. И любой html шаблон натягивается на раз.

Худший ответ:
Да ладно вам, использую uikit во всех проектах на ВП - легко и удобно
Вопрос: Слетела windows из за линукса, что делать?

Лучший ответ:
Восстановить загрузчик Windows (инструкций полно) и больше не играть в хакера.

Худший ответ:
Bios » Boot » Hard disk » Твой жёсткий диск с виндой
Вопрос: Возможно ли сделать по средствами css или svg?

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

https://codepen.io/just_freelance/pen/bGdMeWg


Худший ответ:
Ну если ток один блок, можно эту линию ему на фон повесить (картинкой) и ширину фону указать.
Ну и ширина родителя равна ширине фона, а сам блок уже в процентах.
Вопрос: На каком сайте можно получить решение по шагам?

Лучший ответ:
Просто добавить console logconst reverse = (str) => {
  const len = str.length;
  
  if (len === 0) {
    return str;
  }

  console.log('str =', str, '; len =', len, '; result =', str[len - 1], '+', str.substr(0, len - 1))

  return str[len - 1] + reverse(str.substr(0, len - 1));
};
А вот тоже самое, только понятнее const reverse = str => str.split('').reverse().join('');

Худший ответ:
Что-то такое должно сработатьconst reverse = (str) => {
  const len = str.length
  
  if (len < 2) {
    return str
  }
  
  return str[len - 1] + reverse(str.slice(0, -1))
}
Вопрос: Как сделать бота который будет рассылать определенный текст всем участникам?

Лучший ответ:
Можно сделать как-то так, я думаю основные приниципы работы должны быть понятны, несмотря на мой кривой код, табуляцию и ошибки) P.S. Код написан на версии discord.js@11
const Discord = require('discord.js');
const client = new Discord.Client();
const prefix = "/" // Префикс команды, на которую будет регировать бот

try{

client.on("message", (message) => {
	if (!message.content.startsWith(prefix) || message.author.bot) return;
	const args = message.content.slice(prefix.length).split(/ +/);
	const command = args.shift().toLowerCase();
	
	if (command === 'sendall') {
		message.delete();
		if(!message.member.hasPermission('ADMINISTRATOR')){ // Необходимые права для доступа к команде. Все права можно посмотреть по ссылке https://discord.com/developers/docs/topics/permissions
			message.delete();
			return message.reply("Данная команда доступна только администраторам").then(msg => {
				msg.delete(5500)
			  });
		}
		const msgc = args.slice(0).join(' ')
		message.guild.members.forEach(m => {
		m.sendMessage(msgc)
		.catch(`Невозможно отправить сообщение пользователю ${m.nickname}`);
		});
		message.reply(`Вы великолепны! Команда успешно выполнена!`).then(msg => {
			msg.delete(5500)
		  });
}
});

} catch(err){
	console.log("Ошибка")
}

client.login("Ваш Токен");

Худший ответ:
Ох, это очень длинная тема если честно. Так просто не ответишь. Погуглите про discord.py, потом есть такая штука вроде:

import discord
from discord.ext import commands
bot = commands.bot("префикс бота")
bot.command()
async def sender(ctx, memb: discord.Member):
    memb.send("Я ТЕБЕ ПИШУ!!!")
bot.run("ваш токен сдесь")

P.S. Это полный рабочий код, добавьте бота на сервер, запустите это в питоне 3, так же pip3 install discord, напишите на сервере !sender @упоминание вместо ! Префикс
Вопрос: Какой веб-сервер для С++/С?

Лучший ответ:
Что за бред я только что прочитал? Какой веб-сервер использовать для работы с ... языком программирования? Это вообще говоря разные сущности - примерно как автомобиль и весна :) Как совершенно верно сказал Pavel K  - можно написать свой, если тяму хватает. Или расширение для апача, который вовсе не для php, а просто веб-сервер общего назначения. Это примерно как сказать - Toyota - это машина для перевозки пассажиров :)

Худший ответ:
Эм... Вы можете на C++ написать свой веб-сервер... А Nginx использовать как прокси-сервер и для раздачи картинок и прочей "статики".
Вопрос: Как найти первую работу Front end?

Лучший ответ:
спамь своими откликами на все вакансии тебя за это не убьют! пройдешь собез и дело в шляпе!

Худший ответ:
Открой 300 вопросов по js и выучи их. Часть ответов будешь знать уже, часть поймешь при изучении, часть заучишь. С какой-то попытки прокатит. Ну и рынок ИТ пока мертвый. Для джунов особенно. Сейчас только увольняют в основном.
Вопрос: Как разместить несколько web-приложений с разным backend-ом на одном выделенном сервере?

Лучший ответ:
Cейчас используют nginx в качестве фронтенда. Для проектов на php -- апач или php-fpm, в качестве бэкенда. Ещё можно посмотреть на nginx unit -- сервер приложений от разработчиков nginx умеющий одновременно python, php, go, nodejs и прочие руби.

Худший ответ:
ProxyPass
(директива монтирования URI на нужный хост/порт в apache)
Вопрос: Почему Symfony больше для Enterprise, нежели Laravel?

Лучший ответ:
Кодят обычно ловя баланс между быстро или правильно (правильно по мнению матерых). Symfony ближе к правильному, Лара к быстрому (RAD-разработка). В Ларе на некоторые вещи закрыли глаза в пользу скорости разработки, такое естественно ведет к появлению ошибок у пользователей фреймворка. Но это конечно все не говорит, что Лара не позволяет поднять и поддерживать отличный Enterprise-проект или Symfony 100% обезопасит от косяков даже простой проект...

Худший ответ:
В симфони разработка ведется от бизнес-логики, в laravel от инфраструктуры.
Вопрос: Нужен ли диплом программисту?

Лучший ответ:
"сайты" = это не программирование

Худший ответ:
Если фрилансить всю жизнь - нет.
Для знаний - не особо
Для устройства на работу - да (ну по крайней мере в РФ). И не надо слушать тех, кто будет говорить, что это не так. Это на самом деле вечная тема. Без диплома не возьмут ни в одну более-менее крупную контору (а уж про госконторы или паче чаяния, госслужбу/силовые структуры и говорить нечего). 
Да, это всего лишь бумажка. Но без нее ты - ... эээ ну ты понял, да кто?
Вопрос: Как сделать доступ к HashMap с других классов?

Лучший ответ:
А не надо делать её доступной во всех других классах, Сделайте классу, который её содержит, методы добавления и получения из неё данных.

Худший ответ:
Делаете клас-сиглтон и в него кладете все что вам нужно пошарить (инициализируете все в приватном конструкторе).
public final class Singleton {

    private static Singleton instance;

    private  final ConcurrentHashMap<UUID, Person> cache; // не static!

    public Map<UUID, Person>  getCache() {
        return cache;
    }
    private Singleton() {
         this.cache = new ConcurrentHashMap<>()
    }

    public static Singleton getInstance() {
        if (instance == null) {
            instance = new Singleton();
        }
        return instance;
    }
}
И использование
Map<UUID, Person> cache = Singleton.getInstance().getCache();

Ну и на почитать - https://refactoring.guru/ru/design-patterns/single...

Вобще-то лучше избегать синглтонов, а использовать так называемую технику DI, например с использованием spring или guice (мой выбор). Но начать стоит именно с синглетонов.

Ну и конечно стандартный синглтон достаточно простой, можно еще сделать его ленивым и наворотить еще штук 20 строчек кода - тут головы взрывались на эту тему лет 10 назад.
Вопрос: IDE или редактор кода для C#?

Лучший ответ:
VS Code хорошая альтернатива, но IDE есть IDE.

VS для Си шарпа специализирована, там и .Net и другие технологии, для больших и сложных проектов лучше подойдёт.

Худший ответ:
VS или Rider, первый вариант нравится больше но 2 на линуксе пойдет