LESS, SASS oraz FluentValidation. DSP16 – część 12

Nigdy nie tworzyłem cssów od zera. Zawsze już miałem stworzoną podstawę i później w zależności od potrzeb edytowałem co trzeba było. W moim projekcie konkursowym nie mam żadnych już wcześniej zbudowanych cssów. Więc nie pozostaje mi nic innego jak samemu coś stworzyć.

Podczas szukania front-endowych frameworków natknąłem się na ciekawą tabelkę.

DSP16-12.1

Wycinek tabelki pochodzi ze strony: http://usablica.github.io/front-end-frameworks/compare.htmlI natknąłem się tam na LESS i SASS. Zaintrygowało mnie to. Słyszałem już wcześniej te nazwy. Postanowiłem się temu przyjrzeć bliżej. Co to jest ten LESS i SASS? To są tak zwane preprocesory CSSa. Na mój chłopski rozumiem to jest jak pisanie kodu na podstawie którego generowane są CSS. Uważam to za bardzo fajną sprawę.

W Internecie jest mnóstwo fajnych tutoriali. Mnie osobiście przypadł do gustu ten: tutsplus.com. W sumie znalazłem na internecie wiele opinii mówiących, że SASS jest lepszy – ale osobiście zdania na ten temat nie mam, bo się nie znam.

 

Drugą fajną rzecz jaką znalazłem to Fluent Validation. Biblioteka, dzięki której moim zdaniem bardzo wygodnie można walidować informacje wprowadzone przez użytkownika. Może mi się takie coś przydać do mojego projektu o pokerze. Fluent Validation jest aktualnie dostępny publicznie i znajduje się na githubie pod adresem: https://github.com/JeremySkinner/FluentValidation. Dokumentacja jest kompletna i dużo czasu nie zajęło mi zapoznanie się z tą biblioteką. Poniżej przykład użycia, przekopiowany ze strony projektu.

using FluentValidation;

public class CustomerValidator: AbstractValidator<Customer> {
  public CustomerValidator() {
    RuleFor(customer => customer.Surname).NotEmpty();
    RuleFor(customer => customer.Forename).NotEmpty().WithMessage("Please specify a first name");
    RuleFor(customer => customer.Discount).NotEqual(0).When(customer => customer.HasDiscount);
    RuleFor(customer => customer.Address).Length(20, 250);
    RuleFor(customer => customer.Postcode).Must(BeAValidPostcode).WithMessage("Please specify a valid postcode");
  }

  private bool BeAValidPostcode(string postcode) {
    // custom postcode validating logic goes here
  }
}

Customer customer = new Customer();
CustomerValidator validator = new CustomerValidator();
ValidationResult results = validator.Validate(customer);

bool validationSucceeded = results.IsValid;
IList<ValidationFailure> failures = results.Errors;

 

3 thoughts on “LESS, SASS oraz FluentValidation. DSP16 – część 12”

  1. Fluent Validation – piękna rzecz, zwłaszcza w przypadku skomplikowanej logiki biznesowej. Martwi mnie, że właściwie nie natrafiałem na używanie tej biblioteki w projektach w pracy. Architekci i programiści woleli pisać drabinki ifów… 🙁

      1. Próbowałem. Niestety wielu ludzi, gdy osiągnie jakieś wyższe stanowisko, przestaje się rozwijać, twierdząc że „wiedzą lepiej” i rozmawianie z nimi jest równie efektywne, jak ze ścianą.

Skomentuj Dawid K Cancel Reply

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *