Każdy, kto przynajmniej poznał podstawy, któregoś z języków programowania napotkał na instrukcję warunkową: if.
Z tą instrukcją jest taki problem, że w łatwy sposób można pogorszyć czytelność kodu. Szczególnie jeśli korzystamy z zagnieżdżonych instrukcji warunkowych.
Unikaj zagniżdżonych instrukcji warunkowych
Nie jest tajemnicą, że programista częściej czyta kod niż go pisze. Dlatego naszym celem powinna być taka implementacja która zostanie zrozumiana przez innego programistę bez większego wysiłku.
Każdy z nas ma tyle samo czasu do wykorzystania. Dlaczego jest tak, że jedna osoba, w ciągu dnia zrobi znacznie więcej niż inna? Załóżmy że obie te osoby mają podobny poziom wiedzy i doświadczenia, więc te czynniki odpadają. Żeby odpowiedzieć sobie na to pytanie należałoby prześledzić, jak osoba bardziej wydajna wykorzystała czas, który miała.
Czas to zasób. Jest on ograniczony: nie możemy go zwiększyć. Więc powinniśmy się zastanowić nad tym: jak wykorzystać ten okres, który mamy do dyspozycji?
Jedną z technik na lepsze wykorzystanie czasu jest: blokowanie
Blokowanie czasu
Sama idea jest bardzo prosta: wyznaczasz sobie zadanie, określasz kiedy zamierzasz się tym zająć, i wreszcie: decydujesz ile czasu zamierzasz na to poświęcić.
Ta technika sprawdza się wtedy gdy trzymasz się reguły: podczas pracy nad zadaniem skupiasz się tylko na nim.
Czyli nie pozwalasz sobie na "krótkie 5-minutowe" przerwy. To działa gdy jesteś skupiony na swoim celu i nie tracisz niepotrzebnie energii na przełączanie kontekstu.
Stąd wzieła się nazwa: rezerwuję czas na zadanie i zajmuję się tylko tym na przykład przez godzinę.
Dlaczego to działa?
Celem tej techniki jest skupienie Twojej uwagi na zadaniu. Jeśli jesteś skupiony i nie pozwalasz się rozpraszać, to szybciej dane zadanie zrobisz. Lepiej wykorzystujesz czas, który masz i możesz zrobić dzięki temu więcej rzeczy.
Często wykorzystuję blokowanie czasu do budowania nawyków. Na przykład: poświęcam na czytanie 1 godzinę dziennie.
Samo blokowanie czasu wprawdzie nie zapewni Ci że zadanie zostanie wykonane, w ciągu wyznaczonego okresu(może Cię do tego celu przybliżyć), ale nie powinieneś się tym zbytnio zamartwiać. Jeśli pracujesz w skupieniu, to liczy się progres.
Sprawdza się to szczególnie kiedy masz kilka zadań do zrobienia. Rezerwując czas pracy nad nimi dostajesz informację zwrotną ile zostanie Ci czasu na inne ewentualne rzeczy. Albo po prostu zorientujesz się że tego jest tak dużo, że albo coś przesuwasz na kolejny dzień lub z tego rezygnujesz.
Typ type jest szczególnie przydatny kiedy chcemy określić typ danych na który mogą składać się inne typy danych. Jest to korzystne gdy chcemy posługiwać się jedną nazwą(skrótem/aliasem), którą będziemy wykorzystywać, w wielu miejscach naraz. Takie podejście daje na możliwość na napisanie kodu, który będzie bardziej czytelny.
Korzystanie z rozwiązania zwanego TODO listą może pomóc Ci w organizacji Twojej pracy, czy też ogólnie mówiąc planu na cały dzień. Takie podejście ma wiele plusów. Po pierwsze dodając do swojej listy punkt określasz, w ten sposób, że coś jest dla Ciebie ważne. Kolejnym korzyścią jest to: że nie trzymasz w głowie rzeczy, którymi chcesz lub powinieneś się zająć, w ten sposób lepiej gospodarujesz swoją energią. Patrząc z szerszej perspektywy możesz powiedzieć, że masz plan działania i nie musisz zastanawiać się nad tym czym powinieneś się zająć.
Wady TODO listy
Czytając różne artykuły na temat produktwności: czy to w Internecie, czy to w książkach często spotykałem się z krytyką używania TODO listy.
Jedną z wad takiej listy jest to, że łatwiej do niej dodać kolejny punkt niż go skreślić(czytaj: realizujesz zadanie). Co to znaczy? Że nasza lista może, w krótkim czasie zapełnić się zadaniami i możemy stracić nad nią kontrolę.
TODO lista ma nam pomóc w organizacji naszej pracy, ale jeśli nie będziemy uważni może się to skończyć tym, że patrząc na naszą listę będziemy czuli przytłoczenie. Korzystając z TODO listy często łapałem się na tym, że dodawałem zadania z bliżej nie określoną datą jego wykonania. Powstawały tzw. zadania "na później". Jeśli w porę nie zauważymy, że nasza lista zaczyna zapełniać się tego typu zadaniami to może ona spuchnąć. I nie będzie już narzędziem, które ma nam pomóc, ale może stać się powodem zniechęcenia. Ale nie oto tutaj chodzi!
Jak opanować TODO listę?
Pojawia się pytanie: czytając wyżej wymienione wady problem leży, w narzędziu czy użytkowniku?
Moim zdaniem, w użytkowniku. Jeśli masz świadomość, jak poprawnie korzystać z TODO listy, możesz pozbyć się większości problemów z nią związanych.
Poniżej znajdziesz kilka porad jak efektywnie wykorzystać TODO listę:
Określ datę wykonania zadania - To jest kluczowe! Jeśli podasz termin realizacji zadania możesz uniknąć pułapki puchnącej listy.
Znaj swój limit - Jak już wspominałem na listę łatwiej zadanie dodać niż je zrealizować. Dlatego określ ile maksymalnie zadań jesteś wstanie wziąć na siebie.
Eliminuj - Jeśli wpadniesz w pułapkę przerzucania niezrealizowanych zadań z jednego dnia na następny jest to jasny sygnał, że coś złego się dzieje. Może nie masz na to faktycznie czasu? Jesteś zmęczony? Albo to zadanie nie jest już ważne? Jeśli tak to po prostu je skasuj z listy.
Duże zadania dziel na mniejsze - Trzymaj się prostej zasady: treść zadania musi być precyzyjna. Jeśli nazwa zadania jest zbyt ogólna to będziesz tracić czas na zastanawianie się co jest do zrobienia? A nie oto tutaj chodzi. Dziel i zwyciężaj.
Obie operacje wykonujemy za pomocą specjalnych komend. Uwaga: te komendy wywołujemy z linii poleceń a nie z mongo shell.
Eksport bazy
Żeby zrobić eksport bazy danych posłużymy się komendą: mongodump.
Przykład:
mongodump -d database_name -o /home/mydir
Za pomocą parametru -d określamy nazwę bazy danych, którą chcemy wyeksportować. Parametr: -o używamy kiedy chcemy wskazać miejsce gdzie wyeksportowana baza danych zostanie zapisana.
Po wywołaniu komendy zostanie utworzony katalog o takiej samej nazwie jak baza danych, w którym będą znajdować się pliki z danymi.
Import bazy
Do importu bazy danych z pliku skorzystamy z komendy: mongorestore:
mongorestore -d database_name database_data_dir
Parametr -d określa nazwę bazy danych do której chcemy zaimportować dane. Dodatkowo musimy podać nazwę katalogu który zawiera dane do zaimportowania.