Blog | Internet | QA

To nie tak, jak myślisz - czyli o fałszywych założeniach ⭕

· maciej

Zarówno w życiu, jak i w pracy, często przyjmujemy niektóre stwierdzenia za pewniki. Uznajemy za prawdziwe wiele mitów i czasami sami przyczyniamy się do ich rozpowszechniania. Przecież powiedzieli nam o tym w szkole/na uczelni, przeczytaliśmy w Internecie na Wykopie, czy Reddicie - to musi być prawda. I w sumie, nie ma co się dziwić. Nie jesteśmy w stanie doktoryzować się z każdego tematu, z którym się spotykamy i w którym się wypowiadamy. Zabrakłoby nam na to czasu i energii - tych cennych zasobów, których codziennie mamy bardzo ograniczoną ilość. Jest to aktualne zwłaszcza w dzisiejszym świecie, który bombarduje nas informacjami z każdej strony.

Czasem wręcz presja społeczna wymaga, abyśmy mieli zdanie w tematach, które nas nie interesują, nie dotyczą, bądź nie mamy w ogóle o nich pojęcia (np. epidemiologia i koronawirus). Najbezpieczniej jest chyba powiedzieć, że nie ma się zdania, bądź rzucić na odczepne 'nie wiem, nie znam się' (ale wtedy możemy zostać uznani za ignorantów).

 

True == False

Warto jednak, żebyśmy stali się bardziej świadomymi naszego błędnego myślenia w dziedzinach, w których działamy na co dzień. Bo nie zawsze wszystko jest takie, jak nam się wydaje. Jeżeli jesteśmy programistami, testerami, bądź ciekawskimi osobami z IT, bądź innych branży, możemy zapoznać się z niezwykle przydatną, dostępną na Githubie listą Awesome Falsehood (albo zbiorem list).

 

Listę odkryłem kilka miesięcy temu. Jest to lista fałszywych założeń, które przyjmują programiści (nie tylko). Podzielona jest na kilkanaście kategorii, np. data i czas, zarządzanie, geografia, e-maile itp. W każdej kategorii znajdują się odnośniki do zewnętrznych artykułów opisujących dany wycinek tematu. Te założenia przydają się, zwłaszcza gdy pracujemy w projekcie międzynarodowym, bądź mamy klientów z całego świata. Wtedy może się okazać, że ustalone reguły walidacji na polach formularza nie działają dla użytkowników ze wszystkich kultur i ktoś np. nie może się zarejestrować, bądź nie otrzymał przesyłki ze sklepu (jak to możliwe? To nie był numer ulicy?). Podczas swojej testerskiej pracy użyłem niektórych z nich do weryfikacji przypadków brzegowych.

 

W tym poście wybrałem kilka ciekawych (z mojego punktu widzenia) błędnych założeń z kilku kategorii i poniżej je przedstawię. Postanowiłem też dodać kilka swoich, które dotyczą Polski.

 

🔖 Imiona i nazwiska - błędne założenia

  1. Ludzie mają imiona → obecnie już prawdopodobnie niespotykany przypadek, ale istniała kultura, w której nie było imion, a np. kobieta mogła być określana jako najstarsza siostra mojej mamy.
  2. Imiona są nadawane zaraz po urodzeniu → są kultury, w których imiona są nadawane, gdy dziecko wejdzie w okres dojrzewania.
  3. Ludzie mają nazwiska → na indonezyjskie wyspie Jawa popularne jest nienadawanie nazwisk. Przykład: niektórzy byli indonezyjscy prezydenci posiadają jedynie imiona: Sukarno, Suharto.
  4. Imiona ludzi się nie zmieniają → Ludzie potrafią zmienić zarówno imię, jak i nazwisko, np. z powodów religijnych (Cassius ClayMuhammad Ali).
  5. Nie ma nazwisk, które nie mają wielkich liter → jest przypadek irlandzkiego/brytyjskiego nazwiska ffrench, które jest tradycyjnie pisane jedynie małymi literami.
  6. Nie ma nazwisk składających się jedynie z wielkich liter → we francuskojęzycznych krajach za niegrzeczne może zostać uznane niepisanie czyjegoś nazwiska wielkimi literami.
  7. Nie ma nazwisk zawierających liczby → w USA żyje dziennikarka, która nazywa się Jennifer 8. Lee, dzięki niej mamy emoji pieroga 🥟.

 

Polskie nazwiska

  1. Polskie nazwiska mieszczą się w 30 znakach → są takie, które mają ponad 50 znaków... [1]
  2. Nazwiska w Polsce na pewno mają przynajmniej dwie litery → w rejestrze PESEL istnieje przypadek np. nazwiska A.
  3. Końcówka -SKA oznacza na pewno żeńskie nazwisko → są mężczyźni, którzy posiadają nazwisko z prefiksem -SKA (np. Kamińska).
  4. Końcówka -SKI oznacza, że nosi je mężczyzna → jest w Polsce wiele przypadków, gdy kobieta nosi nazwisko z prefiksem -SKI (np. 384 kobiety mają na nazwisko Kowalski).
  5. W Polsce nie mieszka nikt, kto ma w nazwisku kropkę, apostrof → w Polsce mieszka kilkaset osób z nazwiskiem zawierającym apostrofy (SQL injection friendly), kropki i inne dziwne znaki.

 

Przydatne: Przypadki brzegowe dla imion i nazwisk: https://github.com/patch/i18n-testing/blob/master/personal-names.tsv

 

⏱️Data i godzina - fałszywe założenia

  1. Strefa czasowa, w której działa nasz program nigdy się nie zmieni.
  2. Zegar systemowy nigdy nie będzie ustawiony na odległą datę przeszłą, bądź przyszłą (dobry przypadek testowy dla aplikacji GUI, niegdyś był używany do obchodzenia ograniczeń triali).
  3. Przechowywanie daty jako UTC jest najlepszym rozwiązaniem → nie do końca, co wyjaśnia słynny Jon Skeet (Link).

 

🗺️Miejsca i adresy - błędne założenia

  1. Każde miejsce ma jeden oficjalny adres.
  2. Każda osoba ma adres zamieszkania i korespondencji, który znajduje się w jednym kraju.
  3. Każda ulica leży w jednym kraju → na granicy USA i Kanady jest ulica, którą przecina wzdłuż granica państwa, mieszkańcy nie mogą przejść do sąsiada na drugą stronę, lecz muszą przekroczyć przejście graniczne: https://www.youtube.com/watch?v=EocJm3Dry4E
  4. Każdy budynek leży tylko w jednym kraju → wyjątkiem może być np. budynek Eurode Business Center, który leży jednocześnie w Niemczech i Belgii (Mapa).
  5. Nie ma w jednej miejscowości dwóch takich samych nazw ulic → np. w Warszawie są dwie ulice Żytnie (w dwóch różnych dzielnicach).
  6. 25 znaków wystarczy na pole miejscowość → Niestety nie, najdłuższa nazwa miejscowości w Polsce liczy sobie 40 znaków (wliczając spacje) - Wólka Sokołowska k. Wólki Niedźwiedzkiej, jest też osada, której nazwa ma 31 znaków - Leśniczówka Skarżysko Kościelne.
  7. 50 znaków starczy na pole miejscowość → dopóki nie zostaniemy odwiedzeni przez osobę z miejscowości Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch z Walii, która ma 58 znaków.
  8. 50 znaków starczy na nazwę ulicy → raczej bliżej100, bo ktoś może wprowadzić np. taką nazwę Rondo Arcybiskupa Generała Mirona Chodakowskiego Prawosławnego Ordynariusza Wojska Polskiego (92 znaki).
  9. Kody pocztowe są przypisane tylko do miejsc → osobny kod pocztowy ma np. Telewizja Polska (00-999), czy Narodowy Bank Polski (00-919).

 

📱Numery telefonów - fałszywe założenia

  1. Każdy kraj ma unikatowy numer kierunkowy→ nie jest to prawda, np. Rosja i Kazachstan mają kod +7.
  2. Każdy kraj ma tylko jeden numer kierunkowy → dzwoniąc do Kosowa możemy spotkać się z kodami +381 (Serbia), +386 (Słowenia), +377 (Monako).
  3. Numery telefonów zawierają jedynie cyfry → np. w Nowej Zelandii można zgłaszać stłuczkę na drodze dzwoniąc pod numer *555.

 

💵Biznes i finanse - fałszywe założenia

  1. Numery IBAN są standardem na świecie → nie są (np. Australia odrzuciła ten standard).
  2. Wartość pieniężna może być przechowywana jako float → to nie jest dobry pomysł, chyba że chcemy pogubić grosze (StackOverflow)
  3. Każda waluta może być podzielona na 100 jednostek (jak dolar, euro) → wyjątek to np. waluta Madagaskaru (MGA).
  4. Każdy kraj posiada tylko jedną walutę w obiegu → Kuba posiada dwie waluty (CUP i CUC).
  5. Każda waluta posiada trzyliterowy kod zgodny z ISO 4217→ takiego kodu nie posiada np. naddniestrzański rubel.
  6. Znak $ jest używany tylko jako znak dolara → nie do końca prawda, jest on używany także jako znak peso.

 

Część osób może potraktować takie listy jako zbiór ciekawostek, które można opowiadać na imprezach. Jednak starałem się ukryć tu nieco głębszy przekaz. Jest nim zmuszenie do myślenia i niezakładanie (przynajmniej nie zawsze), że wszystko wiemy i jest takie jak na pierwszy rzut oka wygląda.

 

I pamiętajcie, nie wierzcie w 100% w to co jest w tych listach.

 

Źródła:

 


Dodaj nowy komentarz