Ычан: [d | au / b / bro / hr / l / m / mu / o / s / tran / tu / tv / vg / x | a / aa / c / fi / jp / rm / tan / to / vn]
[Назад]
Ответ в нить
Имя
Animapcha image [@] [?]
Тема   ( ответ в 26983)
Сообщение flower
Файл 
Пароль  (для удаления файлов и сообщений)
Параметры   
  • Прежде чем постить, ознакомьтесь с правилами.
  • Поддерживаются файлы типов 7Z, BZ, BZ2, GIF, GZ, JPG, MO, MP3, MP4, OGG, OGV, PDF, PNG, PSD, RAR, SVG, SWF, TXT, WEBM, WEBP, XCF, ZIP размером до 5120 кБ.
  • Ныне 3642 unique user posts. Посмотреть каталог
  • Предельное количество бампов нити: 500
No. 26983  
Единый тред по Си-шарп.
No. 11022  
prog.jpg - (168.78KB, 400×300)
11022
Есть тут кто пишет код на C# с использованием DDD, TDD, Agile?
Юзаете ли самописные extension methods(какие?) или используете готовые(moreLinq etc)?
Используете ли вы в быту монады(кроме IEnumerable) и какие?

Нашёл тут github.com/sergun/monads.net. Судя по примерам, можно чуть сократить boilerPlate.
codeproject.com/Articles/649989/Monad-like-programming-with-Csharp
Вот ещё интересная статья.
Шарпотред. Расчехляйте свои Helper.dll.
No. 11028  
>monads
>c#
я пробовал многажды. монадический код выглядит настолько визульно сложно, что оно того не стоит.

>TDD, Agile
обезьяньи ужимки.

>DDD
не слышал, но осуждаю.
No. 11029  
>обезьяньи ужимки

девчую
No. 11030  
Алсо, раз доска все-равно мертвая, мне интересно в чем агил и тдд проявляются у опа. Он что, пишет программы корректируя каждый шаг с клиентом и дописывая находу требуемые функции, может даже составляя детсадовские карточки вроде - я нажму эту кнопку и случится то-то и то-то? Он пишет тесты раньше чем код и код пишет только так что бы тот проходил тесты?
No. 11033  
>пишет программы корректируя каждый шаг с клиентом и дописывая находу требуемые функции
Почти так и происходит.
>Он пишет тесты раньше чем код и код пишет только так что бы тот проходил тесты
Иногда так. Иногда пишу быстро прототип того, что нужно и уже потом покрываю тестами.

Тесты неиллюзорно помогают при внесении изменений. Мне нравится думать о (блочных)тестах как о некой проверке кода на адекватность. Иногда пишу тесты и узнаю по ним, что что-то работает не так как ожидалось, хотя при этом компилируется и не кидает исключений.
No. 11035  
>Иногда пишу быстро прототип того, что нужно и уже потом покрываю тестами.

Это не тдд.
No. 11038  
>>11035
Конечно не тдд.
Тдд как единственный метод для разработки всего слишком узок.
No. 11049  
>>11022
Монады в быту использовал в .NET'е, как и в C# так и в F#.

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

Далее понадобилось написать парсер на небольшого формального подмножества естественного языка, и тут сильно пригодился FParsec для F#.
No. 11050  
>>11049
>там-то самописная Maybe и пригодилась, получилось вполне прилично и удобно.
Ты или пиздобол, или говноед. Сотни вложенных лямбд - не самое приличное и удобное на этом свете. Уж лучше ранние ретурны.
No. 11052  
>>11050
Если определить extension методы SelectMany, Where, Select и т.п. то можно будет пользоваться LINQ в виде запросов, что весьма похоже на монадический синтаксис:

from x in something.ToMaybe()
from y in somewhat.ToMaybe()
select x.DoSomeStuffWith(y)
No. 11053  
>>11052
А, вон ты про что. Прошу прощения. Я линку синтаксис просто не перевариваю, поэтому у меня были Fmap(), Bind(...) и тонны анонимок.
No. 11054  
>>11053

А просто extension методы и различные helper'ы я очень активно использую.

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

Name.For<MyClass>.Of(x=>x.SomeProperty), которое возвращает название соотвествующего поля, св-ва или метода указанного класса.
No. 11056  
>>11054
У меня начальник такую штуку написал для всяких озервабл. Охуенная вещь была.
No. 11125  
public static T Match<T>(
this T target,
Predicate<T> predicate,
Action<T> whenMatched)
{
if (predicate(target))
whenMatched(target);
return target;
}
No. 14481  
А я как-то раз запилил логирование NLog'ом и вызов по типу экзепшена:
private static readonly Logger Log = LogManager.GetCurrentClassLogger();
private static T LogThrow<T>(string message) where T : Exception {
....Log.Error(message);
....return (T) Activator.CreateInstance(typeof (T), BindingFlags.CreateInstance, message);
}

Вызывалось так:
throw LogThrow<DivideByZeroException>($"You should not devide {value} by zelo");
No. 14482  
> DDD, TDD, Agile
Хуита. Учитывая, что всё должно было быть готово вчера, а на тесты вечно времени нет.
И тесты постоянно стремительно устаревают, а времени на их сопровождение нет.
Конечно, круто прогнать тесты и увидеть, что ты сломал до тестирования/продакшена, но на тесты нужно время, а менеджер — пидорас.

> Юзаете ли самописные extension methods(какие?)
Да. Перечислять долго — они все дико ситуативные.
Например, какие-нибудь специфичные преобразования чего-нибудь в кого-нибудь:
ToSafePenis(this Penis penis)
{
if(penis == null) return new Penis();
if(penis.Length == 12) return new Penis(28);

return penis;
}
Написал хуйню, но идея ясна.
Так же в экстеншоны запихиваются методы-беспризорники.
Или хитровыебанные сортировки/поиски туда же отправляются.
No. 14618  
bosfor_061215.jpg - (292.37KB, 1280×960)
14618
Привет Балмеры, Ну кароче, выучил C#, AppStudio и терь не знаю че собстна делать. Вродь все знаю, а вот задачи выполнить не могу. Подкиньте каких-нибудь средних заданий для практики. пикч рандом
No. 14631  
https://projecteuler.net/
No. 16282  
asterisk-vs-freeswitchs.jpg - (62.08KB, 328×324)
16282
Друзья, необходим sip sdk для C# халявный. Есть у кого что нибудь посоветовать?
No. 16311  
https://github.com/sipsorcery/sipsorcery

Не подойдет?
No. 20172  
flat,550x550,075,f.jpg - (22.09KB, 550×550)
20172
решил стать инди разрабом. учю с# под юнити(пока под 2D).
решил спросить совета у гуру и более опытных в этом деле. как правильно начать, что бы не ударить в грязь лицом? что учить в первую очередь, а с чем подождать? какие форумы и каналы на youtube будут полезны, а на какие даже не заходить?
No. 20173  
С Розенталя.
No. 20192  
>>20172
Рекомендую обратиться с этими вопросами в прикреплённый тред для начинающих.

>>20173
Рекомендую самоутверждаться в другом месте.
No. 24749  
111.jpg - (373.75KB, 2048×1365)
24749
Здравствуйте, посоветуйте книги для изучение SQL в С#
No. 24752  
>>24749
Ты чего конкретно хочешь узнать и освоить? Потому, что вопрос широкий, как твоя мамка.

Начнём с того, что SQLа много разного:
MSSQL (серверая), PostgreSQL (серверая), MySql (серверная), SQLite (встраеваемая) и другие с которыми я не работал.

Работа с БД с C# тоже ну очень разная:
Entity Framework (полноценная ORM), Dapper (легковесная), Linq2Sql (ORM), nHibernate (полноценная ORM), ADO.Net (устарел) и другие с которыми я не работал.

C# тоже бывает разный: .Net Core (кросс платформенное решение), .Net Framework (win), ASP.net (веб), ASP .net core (веб), Xamarin (мобилы). Там есть нюансы, но небольшие.

И работы SQL + C# тоже много разной бывает:
Code First (на основе моделей создаётся база), DbFirst (на основе базы создаёются модели), и ещё наверное какая-то дичь существует.

Вот MSDN-наше-всё:
EF+Core: https://docs.microsoft.com/en-us/ef/core/

MSSQL Server: https://docs.microsoft.com/en-us/sql/sql-server/?view=sql-server-ver15
MSSQL Server: https://docs.microsoft.com/en-us/sql/sql-server/educational-sql-resources

Вообще, я не фанат ИТ-книжек, так как они устаревают слишком быстро.
Вот парочка:

EF: https://www.amazon.com/Practical-Entity-Framework-Enterprise-Applications/dp/1484260430
EF: https://www.amazon.com/Modern-Data-Access-Entity-Framework-ebook/dp/B07F2YRV9S
MSSQL:
https://www.amazon.com/T-SQL-Fundamentals-3rd-Itzik-Ben-Gan/dp/150930200X
MSSQL:
https://www.amazon.com/SQL-Cookbook-Solutions-Techniques-Developers/dp/0596009763/138-9950719-2335926?psc=1

Но, для тех, кто работает с техами от MS: MSDN ( https://docs.microsoft.com/en-us/ ) — наше всё.
No. 24764  
>>24752
Несколько странно говорить, что .NET Framework есть (win), когда есть вполне себе живое и работоспособное Mono.

Да и C# там в сущности примерно одинаковый, разные библиотеки только.
No. 24972  
11113.webp - (30.53KB, 480×300)
24972
Как перебрать ассоциативный массив через foreach? С#
No. 25204  
Если ассоциативный массив - это Dictionary, то:

foreach (var (key, value) in myDictionary)
{
}

Больше вариантов здесь: https://stackoverflow.com/questions/141088/what-is-the-best-way-to-iterate-over-a-dictionary
No. 26988  
dev |> Threads.getBySubject "C#"

    |> Threads.rename ".NET"
    |> profit

Удалить сообщение []
Пароль  
[Mod]