wtorek, stycznia 26, 2010

"Ochidna" Echidna ;-) czyli jak się mają prace nad RDrive.

Tworząc RDrive aka Echidna [czyli w skrócie projekt, którego celem jest dodanie do Windows napędu R:\ pod którym dostępne będą konta w Google Docs] stosuję moje podejście, które w skrócie polega na tym, że piszę w taki sposób, że gdy jest mi coś potrzebne to to po prostu dodaję nie patrząc zbytnio na to czy aby tego już nie mam, a dopiero później gdy takich zdublowanych danych mam za dużo to zaczynam je jednoczyć.
Oznacza to, że z jednej strony pierwsze efekty mam zwykle dość szybko, ale później niejednokrotnie muszę dany kod przepisać 2 lub 3 razy po pierwsze by z wykorzystaniem nowych struktur danych mieć wszystkie potrzebne dane, które wcześniej trzymałem w różnych listach i mapach [bo także w paskudnym C# ichnie odpowiedniki List i Map są moimi ulubionymi strukturami danych ;-)] , po drugie by nie wywalić się na miejscach gdzie mam nulla ;-)
Wydaje się, że dzisiejsze zmiany doprowadziły do tego, że nowy model danych działa tak jak poprzedni, jednocześnie dostarczając środków do łatwego dodania zapisu ;-)
Oczywiście nadal mam wielką ziejącą dziurę w kodzie w miejscu gdzie dokonywać się będzie mapowanie nazw plików w systemie plików dysku R:\ a nazwami w Google Docs ;-) Mam to zaimplementowane częściowo w OOo2GD, ale jak pomyślę o męczeniu się z przenoszeniem tego kodu do C# to mi się odechciewa ;-) przyznam, że większą nawet przeszkodą niż język jest dla mnie IDE, te już prawie 5 lat pracy z Eclipsem skaziły mnie i Visual C# Express 2010 jest dla mnie zbyt ubogi :-) Jakoś to pokonam ;-)
Nadal brakuje mi możliwości logowania na konsolę w aplikacjach WinForms bo muszę przez to pamiętać o ciągłym kasowaniu pliku z logiem gdy zaczynam nową sesję testów :-)
Także sposób dostępu do pliku ReadWrite [samo Write też ;-)] mi psuje szyki... bo nie do końca wiem jak to obsłużyć, reprezentacja binarna po stronie klienta i to co zwróci serwer to nie jest zwykle to samo i nadal mam problem co w sytuacji gdy system plików dostanie polecenie Otwórz plik A, i zapisz od pozycji B tablicę bajtów C... logika każe założyć, że program nie może zakładać, że plik do którego pisze nie uległ zmianie jeżeli go zamknął, ale logika swoje, a praktyka swoje, więc trzeba będzie dojść do spójnego rozwiązania metodą prób i błędów]

Najlepsze będzie gdy już pokonam wszystkie przeszkody z implementacją tego napędu R:\, a wtedy Google wypuści swój produkt dla GDrive ;-)
Co prawda zyskam wiedzę jak się bawić w takie rzeczy, ale i tak zły będę ;-)

Btw. bawił się ktoś Lazarusem? Bo jako jedno z zadań na 2010 w pracy zobowiązałem się do sprawdzenia czy jeden z pomocniczych elementów naszego systemu da się łatwo przenieść z Windows na Linuksa, a pech chce, że akurat ten element napisany jest w Delphi ;-)

Podobne postybeta
Ha! Ochidna Echidna potrafi updatować pliki :-)
RDrive w działaniu ;-) czyli kolejny raport z prac nad Kolczatką ;-)
Tagowanie postów MLem - trzeba to przepisać ;p
Jak masz doła to nawet rozwiązanie problemu niezbyt cieszy ;-)
AI nie zabierze nam pracy - przynajmniej teraz ;-)

1 komentarz:

  1. Rzuć okiem na to:
    http://koziolekweb.pl/2010/01/07/od-ogolu-do-szczegolu-i-z-powrotem-czyli-sprytna-refaktoryzacja-kodu/

    Inne podejście do dodawania funkcjonalności, ale stosuję to od dłuższego czasu z powodzeniem.

    OdpowiedzUsuń