Skocz do zawartości

MamPytanie

Użytkownicy
  • Postów

    4
  • Dołączył

  • Ostatnia wizyta

Aktywność reputacji

  1. Lubię (+1)
    MamPytanie otrzymał(a) reputację od Chell w Python - load i save project   
    Hejka, jest tu jakiś Pythonowiec?
     
    Posiadam obiekt który odpowiada za pliki projektu. Tzn spina wszystko w całość(backupy, pliki projektu itp.).
    Posiada on zasadniczo trzy, interesujące nas w tym momencie zadania(inne nie mają wpływu na zagadnienie):
    > Utwórz projekt i zapisz jego pliki w danej lokalizacji
    > Wczytaj projekt z określonej lokalizacji
    > Zapisz zmiany w projekcie(oddzieliłem ponieważ taka metoda nie wymaga aż tak dużej ilości argumentów, wykonuje dużo mniej operacji, poza tym nie zmienia wartości które wymagane są do podania jako argumenty pierwszej metody)
     
    W teorii wszystko gra, tylko, że:
    > Nie można w konstruktorze przyjąć określonej listy argumentów i wykonać tworzenia bądź wczytywania projektu ponieważ nie wiadomo jeszcze co programista zamierza zrobić - utworzyć nowy, czy wczytać istniejący projekt(a więc wiele wartości które przy tworzeniu są wymagane jako argumenty pobrać z plików projektu).
    > Jeśli konstruktor nie będzie przyjmował żadnych argumentów(wydawało by się to najlepsze rozwiązanie) to można by zrobić potem object.load bądź object.create, ale wtedy gdyby ktoś skorzystał z object.save_changes zanim wczytałby pliki projektu lub utworzył projekt, mogłoby dojść do błędu ponieważ wiele potrzebnych zmiennych nie byłoby utworzonych. Można by wtedy rzucić wyjątkiem, ale nie jestem pewien czy to nie byłoby sprzeczne z normami które stosujemy w Pythonie. Nie powinno być chyba tak, że jedna metoda wyrzuca wyjątek i odmawia współpracy, jeśli wcześniej nie wywołamy innej.
    > Myślałem o przeładowaniu w konstruktorze tak, aby tworzona instancja obiektu mogła(w zależności od podanych argumentów) być jednocześnie tworzeniem projektu bądź jego wczytywaniem. Natomiast mam wrażenie - być może nie prawdziwe - że w Pythonie unika się stosowania przeładowań(w przeciwieństwie do Javy czy C#), a już szczególnie w konstruktorze. Nie wiem też, czy takie coś byłoby odpowiednio intuicyjne dla programisty. Mam wrażenie, że lepiej byłoby robić instance = object() i potem object.load(argumenty metody) bądź object.create(argumenty metody). Natomiast nie wiem jak to wszystko zrobić tak, aby to było zgodnie ze sztuką.
  2. Ooooj (-1)
    MamPytanie otrzymał(a) reputację od Chell w GIT - commit -m vs commit -am   
    Właśnie tak to zrozumiałem, ale gość w filmiku mówił inaczej. Do tego zapytałem go na priv to twierdzi, że jest inaczej. Uczy programować i sam nie wie? Przez ten jego kurs to mam wrażenie, że mam więcej złych informacji niż dobrych. Od trzech dni nie umiem zrozumieć GIT. Znacie coś dobrego od A do Z o GIT, żebym przygotował się do pierwszej pracy po polsku za darmo? Po angielsku też bym pewnie zrozumiał mniej więcej, ale chciałbym wszystko maksymalnie dobrze zrozumieć. Jest tego mnóstwo na YT, ale jak widać można stracić parę dni na nie warty uwagi kurs

×
×
  • Dodaj nową pozycję...