Wpis z mikrobloga

@MirkoStats: DRY - słyszałeś kiedyś? XD ten kod można skrócić spokojnie o ponad połowę + w JS używamy 2 spacji zamiast 4 w tabie i nie robimy entera po każdej linije, fatalnie czyta się ten kod
  • Odpowiedz
@MirkoStats: Ogólnie to radzę wykorzystywać obiekty.
Np. masz metodę

WykopAPI.prototype.buryLink = function (param1, param2, callback) {
Nie lepiej zrobić
WykopAPI.prototype.buryLink = function ({id, reason}, callback) {
  • Odpowiedz
@MirkoStats: Wyobraź sobie, że do API dochodzi dodatkowy wymagany parametr na np. stream/index
Nie dość, że ludzie stary kod przestanie działać, to aktualizacja biblioteki będzie wymagała przepisania kodu, by działał z nową wersją.
  • Odpowiedz
Nie dość, że ludzie stary kod przestanie działać


@Ginden: jeżeli parametr będzie wymagany to tak czy inaczej będą musieli przepisać swój kod i dodać wszędzie ten parametr, co za różnica czy w obiekcie options (bez konieczności update biblioteki)

var options = {
  • Odpowiedz
DRY - słyszałeś kiedyś? XD ten kod można skrócić spokojnie o ponad połowę


@bonus: słyszałem, skróciłem co się dało, więcej mi do głowy nie przychodzi. Pokaż przykład co byś tu skrócił, może mi się otworzy klapka w mózgu
  • Odpowiedz
@MirkoStats: Wcale, że nie, bo biblioteka może mieć defaultowe wartości, np. brak podania page zwraca stronę = 1.
Naprawdę, to jest znacznie wygodniejsze, zwłaszcza dzięki faktowi, że można zrobić:

var id = 3;
var page=1;
  • Odpowiedz
@MirkoStats: No i jeszcze dochodzi fakt, że do obiektu nie trzeba pamiętać kolejności parametrów, do zwykłych argumentów - trzeba.
W przypadku tylko np. strony jest to intuicyjne, jeśli masz już 3 parametry to trochę gorzej. Czy sygnatura funkcji to function(entryId, commentId) czy function(commentId, entryId)?
  • Odpowiedz