Tag: software engineering

Entries for tag "software engineering", ordered from most recent. Entry count: 32.

Uwaga! Informacje na tej stronie mają ponad 5 lat. Nadal je udostępniam, ale prawdopodobnie nie odzwierciedlają one mojej aktualnej wiedzy ani przekonań.

Pages: > 1 2 3 4 >

# Fanatyzm obiektowy i mania wrapowania

23:04
Tue
31
Mar 2009

Napisałem mały felieton, esej czy jak to się tam nazywa (polonista ze mnie kiepski :) Zwykle nie lubię narzekać, wolę pozytywnie podchodzić do życia. Nie lubię też wygłaszać swoich poglądów (bo "poglądy są jak d*** - każdy ma swoje, ale po co je pokazywać" ;) Jednak tym razem postanowiłem podzielić się swoimi przemyśleniami na temat programowania obiektowego. Tekst nosi tytuł Fanatyzm obiektowy. Właściwie to ten tekst umieściłem w dziale Download już dawno temu, ale dzisiaj dopisałem do niego nowy rozdział - "Mania wrapowania". Zapraszam do czytania i komentowania.

Comments | #software engineering #philosophy #c++ Share

# Stawianie realnych celów

11:10
Tue
19
Feb 2008

Pasjonaci programowania gier często porywają się z motyką na słońce próbując napisać samemu kompletną grę - taką jak sobie wymarzyli, np. taką jak GTA albo WoW. Nawet jeśli mieliby potrzebną wiedzę i doświadczenie, oczywiste jest, że nie sposób tego dokończyć - to by wymagało wielu lat pracy. Szczególnie, jeśli nie ma motywacji w postaci pieniędzy ani szefa straszącego zwolnieniem, a na horyzoncie pojawią się często nowy, jeszcze lepszy pomysł.

Ja nie twierdzę, że to jest złe. W pewnym sensie to jest tak samo dobre, jak każde inne programowanie - robisz to co lubisz i zdobywasz doświadczenie. Jednak porzucanie coraz to nowego niedokończonego projektu może rodzić frustrację.

Dlatego może warto zacząć wyznaczać sobie realne cele. Zacząć od przyznania się przed samym sobą, że nie jesteś w stanie sam jeden napisać gry takiego kalibru, jak GTA czy WoW. Następnie pomyśleć, co mógłbyś napisać, żeby pozostając w kręgu swoich zainteresowań jednocześnie było możliwe dokończenie tego. To mogą być różne rzeczy. Jeśli chcesz zrobić dobry uczynek, napisz bibliotekę, którą inni programiści mogą wykorzystywać w swoim kodzie. Albo demo, które będzie się miło oglądało. Albo efekt wraz z kodem źródłowym i opisem, z którego inni będą się mogli czegoś nauczyć. Albo program narzędziowy, który przyda się innym programistom.

Oczywiście, punkt widzenia zależy od punktu siedzenia (a także od wieku i doświadczenia). Dlatego wcale nie twierdzę, że moje podejście jest jedynie słuszne. Myślę jednak, że ma pewną dużą zaletę - tworzy portfolio dla przyszłego pracodawcy. Pracodawcę interesuje podobno przede wszystkim "co umiesz", a zaraz potem "co możesz pakazać". Myślę, że w tym kontekście małe, ale ukończone i przydatne kawałki oprogramowania mają większą wartość, niż duże, ale tylko rozpoczęte gry.

Comments | #software engineering Share

# Biblioteki - gotowe czy własne?

18:55
Mon
23
Jul 2007

Wyczytałem wczoraj przy okazji w jednym z artykułów na GameDev.net, że potencjalnemu pracodawcy bardziej spodoba się, kiedy zobaczy, że programista w swojej amatorskiej produkcji skorzystał z gotowych bibliotek (co jakoby dowodzi jego umiejętności używania cudzego kodu i skupiania się na swoim celu), niż gdyby pisał wszystko samemu (co pokazuje jego umiejętności programistyczne). Ciekawa teoria. Brzmi całkiem logicznie.

Comments | #philosophy #libraries #software engineering Share

# Filozofia #1

17:54
Sat
21
Jul 2007

Kiedy człowiek ma dużo wolnego czasu, to za dużo myśli i przychodzą mu do głowy różne dziwne rzeczy. Dlatego to jest pierwsza cyklu notek filozoficznych. Wszystkich zdegustowanych czytelników mojego bloga przepraszam i obiecuję, że kiedyś mi to przejdzie :)

Myślałem sobie mianowicie o tym, jak wiele czasu potrzeba, by stworzyć cokolwiek - czy to będzie napisanie książki, zrobienie swetra na drutach czy napisanie jakiegokolwiek, małego nawet programu albo gry. Wielokrotnie więcej, niż wydawałoby się komuś niewtajemniczonemu albo początkującemu programiście. A czas mija nieubłaganie. Dlatego trzeba jak najstaranniej dobierać sobie zadania do wykonania - zarówno duże projekty, jak i te drobne sposoby na ich zrealizowanie.

Inna związana z tym sprawa to paradoks, że niejednokrotnie boimy się i nie możemy się zabrać za zrobienie czegoś, co w końcu zajmuje nam nie więcej niż 15 minut (np. zadana w szkole praca domowa), a innym razem angażujemy się w coś małego, co niespodziewanie zabiera wiele dni. Dlaczego tak jest? Moim zdaniem dlatego, że tym, czego podświadomie się boimy jest wysiłek, a to, co liczy się naprawdę to czas - dwie różne rzeczy.

Jeszcze inna kwestia to motywacja, która może wielokrotnie przyspieszyć robienie czegokolwiek. To jednak nie jest lekarstwo na wszystko - bo dlaczego firmy informatyczne nie zatrudnią po kilku młodych genialnych amatorów z motywacją zamiast armii tak niewydajnych w porównaniu z nimi programistów? O tym pisze Frederick Brooks w książce "Mityczny osobomiesiąc".

Comments | #philosophy #software engineering Share

# Projektowanie API

13:38
Thu
28
Jun 2007

Projektowanie interfejsu biblioteki jest równie ważne, jak projektowanie interfejsu użytkownika programu. O tym drugim napisano całkiem sporo. Sam mam jedną książkę właśnie na ten temat. Co z tym pierwszym? Czy ktoś widział jakikolwiek tekst poświęcony projektowaniu dobrego API? Ja znam tylko jeden mały artykuł - Designing Qt-Style C++ APIs napisany "przy okazji" przez autorów biblioteki Qt.

Comments | #software engineering Share

# Nowa teoria filozoficzna

09:23
Sun
24
Jun 2007

Wymyśliłem wczoraj nową teorię filozoficzną :) Przypomniał mi się temat forum Jeśli nie kodzić... to co? i uświadomiłem sobie, że ludzi programujących można podzielić na 3 grupy zależnie od tego, kim byliby, gdyby nie było komputerów:

Może gdyby ludzie to rozumieli i każdy znał swoje miejsce na tym schemacie, skończyłyby się spory na temat tego, czym tak naprawdę jest informatyka i programowanie? :)

Comments | #philosophy #software engineering Share

# Dobra biblioteka, zła biblioteka

08:58
Sat
02
Jun 2007

Chcę teraz napisać moduł do obsługi daty i czasu. Poszukując czegoś, na czym mógłbym się wzorować szczególnie dokładnie przejrzałem dokumentację i kod dwóch bibliotek - Boost.Date_Time oraz wxWidgets wxDateTime. Was też zachęcam do poświęcenia kilku chwil na próbę zrozumienia, jak te biblioteki wyglądają i ich porównania. Można tu naprawdę klarownie zobaczyć, jak powinien wyglądać, a przede wszystkim jak NIE powinien wyglądać interfejs dobrej biblioteki. Jedni głoszą, że "Mądrość i piękno bardzo rzadko idą w parze" (ten cytat jest mottem całego dzieła Meyersa "Effective C++"), inni znają takie pojęcie jak elegancja...

Comments | #libraries #software engineering Share

# Konwencja nazywania identyfikatorów

11:46
Mon
14
May 2007

Istnieje kilka różnych sposobów nadawania nazw funkcjom, zmiennym, poleceniom, znacznikom i wszelkim identyfikatorom. Można je podzielić na:

Który z nich jest najlepszy, tego nie można jednoznacznie powiedzieć. Zamiast tego spróbuj pomyśleć, który jest najgorszy ;)

Comments | #philosophy #software engineering Share

Pages: > 1 2 3 4 >

STAT NO AD
[Stat] [STAT NO AD] [Download] [Dropbox] [pub] [Mirror] [Privacy policy]
Copyright © 2004-2018