Разделянето на кода на функции често само го прави по-объркващ. Иначе си четеш кода отгоре надолу и си затваряш скобите през vs-то, където не те засяга в момента. С функции скачаш напред назад през функции докато се побъркаш. А виртуалките каква тъпня са в повечето случаи, мале, мале. Пък за ползване на overload-нати имена на функции трябва да се разстрелва.
не говоря за това, а че ти го виждаш като някаква отделна, специална че и важна част. то и като пазаруваш в магазина ти трябва там някаква математика , но никой не го брои за някаква отделна че и трудна част от пазаруването. е да, понякога можеш да се позапънеш докато сметнеш кое е по-далавера 200 грама за 5 лева или 300 за 7, но дори това не оставя никакъв отпечатък в минаването на деня. ако те питат после "имаше ли нещо интересно неска" и през ум няма да ти мине да кажеш "еееей, да знаеш само как искаха да ме прекарат с по-скъпа разфасофка от 300 грама, но аз го сметнах и не се преебах"
да, забравих, че за тебе всяка програма е просто един много дълъг файл с 1 функция main() в него
Разделянето на кода на функции често само го прави по-объркващ. Иначе си четеш кода отгоре надолу и си затваряш скобите през vs-то, където не те засяга в момента. С функции скачаш напред назад през функции докато се побъркаш. А виртуалките каква тъпня са в повечето случаи, мале, мале. Пък за ползване на overload-нати имена на функции трябва да се разстрелва.
Абе ти верно ли пишеш код като чаве в гимназията, ръгаш в мейна? Да ни си от тея малоумните питонаджии де хал хабер нямат от ООП и мажат кат луд с хуя си?
Абе ти верно ли пишеш код като чаве в гимназията, ръгаш в мейна? Да ни си от тея малоумните питонаджии де хал хабер нямат от ООП и мажат кат луд с хуя си?
Значи, едно е ръгаш в мейна, друго е всеки два реда код на функция. Постепенно се убедих, че и двете са еднакво лоши. Иначе пиша само на Ц++, други езици не знам.
не смея да съдя кой става за програмист, но това със стилове и тн са пуберски вълнения.
И ако стила на някой е цапано дупе с тиквички и е омазал с лайна навсякъде пак ли ще са пуберски вълнения? Ай моля ти се, дори и ти ще му набиеш кубинката след седмица.
И по тая логика всеки може да пише код така, че само и единствено за него да е четимо??? Абе доматите на терасата ти са се вкиснали.
това е перфектно, но не е лесно - след месец и за тебе няма да е четимо. много трудно е да нацелиш хем ти да можеш да си го четеш, хем другите да не могат
Последно редактирано на 19.10.2024 от Стуйо, видяно: 231 пъти.
И по тая логика всеки може да пише код така, че само и единствено за него да е четимо??? Абе доматите на терасата ти са се вкиснали.
това е перфектно, но не е лесно - след месец и за тебе няма да е четимо. много трудно е да нацелиш хем ти да можеш да си го четеш, хем другите да не могат
Абе като ми изпаднеш в чичащини не мога да те трая, ей сега написах това, айде не знаеш остро Ц ама може ли да ми кажеш какво прави този код :
public class GetLogEntryByTimestampAndLevelHandler<TEntity> : IQueryHandler<GetLogEntryByTimestampAndLevel<TEntity>, PageResult<TEntity>> where TEntity : LogEntry
{
private readonly IMongoCollection<TEntity> collection;
public GetLogEntryByTimestampAndLevelHandler(IMongoCollectionFactory collectionFactory)
{
collection = collectionFactory.GetCollection<TEntity>();
}
public async Task<PageResult<TEntity>> Handle(GetLogEntryByTimestampAndLevel<TEntity> query, CancellationToken cancellationToken = default)
{
var builder = Builders<TEntity>.Filter;
FilterDefinition<TEntity> filter = builder.Empty;
if (DateTime.TryParseExact(query.TimeStampFromDate, Constants.DateFormat, null, System.Globalization.DateTimeStyles.AssumeUniversal, out var fromDate))
filter = builder.And(filter, new ExpressionFilterDefinition<TEntity>(x => x.UtcTimeStamp >= fromDate));
if (DateTime.TryParseExact(query.TimeStampToDate, Constants.DateFormat, null, System.Globalization.DateTimeStyles.AssumeUniversal, out var toDate))
filter = builder.And(filter, new ExpressionFilterDefinition<TEntity>(x => x.UtcTimeStamp <= toDate));
if (!string.IsNullOrWhiteSpace(query.Level))
filter = builder.And(filter, new ExpressionFilterDefinition<TEntity>(x => x.Level == query.Level.CapitalizeFirstChar()));
var fluent = collection.Find(filter).Sort(Builders<TEntity>.Sort.Descending(x => x.UtcTimeStamp));
var count = fluent.CountDocumentsAsync(cancellationToken);
var items = fluent.Skip(query.Skip ?? 0).Limit(query.Take ?? Constants.DefaultPageSize).ToListAsync(cancellationToken);
return new()
{
TotalCount = (int)await count,
Items = await items
};
}
}
И по тая логика всеки може да пише код така, че само и единствено за него да е четимо??? Абе доматите на терасата ти са се вкиснали.
това е перфектно, но не е лесно - след месец и за тебе няма да е четимо. много трудно е да нацелиш хем ти да можеш да си го четеш, хем другите да не могат
Абе като ми изпаднеш в чичащини не мога да те трая, ей сега написах това, айде не знаеш остро Ц ама може ли да ми кажеш какво прави този код :
public class GetLogEntryByTimestampAndLevelHandler<TEntity> : IQueryHandler<GetLogEntryByTimestampAndLevel<TEntity>, PageResult<TEntity>> where TEntity : LogEntry
{
private readonly IMongoCollection<TEntity> collection;
public GetLogEntryByTimestampAndLevelHandler(IMongoCollectionFactory collectionFactory)
{
collection = collectionFactory.GetCollection<TEntity>();
}
public async Task<PageResult<TEntity>> Handle(GetLogEntryByTimestampAndLevel<TEntity> query, CancellationToken cancellationToken = default)
{
var builder = Builders<TEntity>.Filter;
FilterDefinition<TEntity> filter = builder.Empty;
if (DateTime.TryParseExact(query.TimeStampFromDate, Constants.DateFormat, null, System.Globalization.DateTimeStyles.AssumeUniversal, out var fromDate))
filter = builder.And(filter, new ExpressionFilterDefinition<TEntity>(x => x.UtcTimeStamp >= fromDate));
if (DateTime.TryParseExact(query.TimeStampToDate, Constants.DateFormat, null, System.Globalization.DateTimeStyles.AssumeUniversal, out var toDate))
filter = builder.And(filter, new ExpressionFilterDefinition<TEntity>(x => x.UtcTimeStamp <= toDate));
if (!string.IsNullOrWhiteSpace(query.Level))
filter = builder.And(filter, new ExpressionFilterDefinition<TEntity>(x => x.Level == query.Level.CapitalizeFirstChar()));
var fluent = collection.Find(filter).Sort(Builders<TEntity>.Sort.Descending(x => x.UtcTimeStamp));
var count = fluent.CountDocumentsAsync(cancellationToken);
var items = fluent.Skip(query.Skip ?? 0).Limit(query.Take ?? Constants.DefaultPageSize).ToListAsync(cancellationToken);
return new()
{
TotalCount = (int)await count,
Items = await items
};
}
}
Какъв е дейтастора който налага тея ExpressionFilterDefinition?