W Drugiej najważniejszej rzeczy programisty opisałem, jak zakup dobrego jakościowo krzesła może być jedną z najmądrzejszych inwestycji, jaką możesz zrobić, będąc programistą. W rzeczywistości, po poszukiwaniach krzeseł przez ostatnich kilka lat mojej kariery, doszedłem do jednego wniosku: nie możesz oczekiwać, że uda Ci się dostać porządne krzesło za mniej niż $500. Jeśli zamierzasz wydać mniej niż tyle na siedzenie -- c...
Strona głównaUżytkownik
kombain | użytkownik
Zdarzyło Ci się kiedyś mieć taki dzień, w którym wszystko, co komitowałeś do systemu kontroli wersji, było złe? Tak w ogóle, to czym dokładnie taki dzień różni się od każdego innego? Ale bądźmy poważni. Kod, który jest widoczny to kod, który może być niepoprawny. Nie powinno to być zaskoczeniem. Ale czy wiesz, że nawet kod, którego nie widać, również może być zły?
Na temat Beginner's All Purpose Symbolic Instruction Code Edsger Dijkstra miał to do powiedzenia: Nauczenie studentów dobrego stylu programowania jest praktycznie niemożliwe, jeśli byli oni wcześniej wystawieni na szkodliwe działanie BASICa; jako potencjalni programiści są umysłowo okaleczeni bez nadziei na regenerację. Jestem pewien, że wyolbrzymiał dla efektu; o ile podziwiam jego refera...
Scott Hanselman uważa, że umieszczanie certyfikatów branżowych w podpisie jest niezręczne: Jeśli nierozsądne byłoby umieszczenie w CV wyników egzaminów ze studiów, to czemu umieszczenie Scott Hanselman, MCSD, MCT, MCP, MC*.* jest rozsądne? Posiadanie certyfikatu znaczy tyle, że jesteś w stanie przyswoić dużą dawkę wiedzy technicznej. Chwileczkę. Proponuję podpisywanie się w następujący sposób: Scott Hanselman, 11 dużych projektów zakończonych sukcesem, 3 projekty Open-Source, 1 projekt zakończony g...
Oryginalny post: Who's Your Coding Buddy?Autor: Jeff Atwood Zdumiewa mnie, jak bardzo mój kod zyskuje na tym, że zostanie przejrzany przez kogoś innego. Nie mam tu na myśli formalnej recenzji kodu, wysyłania go do publicznej oceny w Internecie lub uciążliwego reżimu programowania w parach. Jedna szybka próba wyjaśnienia i pokazania mojego kodu koledze/koleżance z zespołu -- to zazwyczaj wystarcza, by wyłapać błędy. To oczywiście nie jest nic nowego. Doskonała książka autorstwa Karla Wiegersa Peer Revi...
W czasach kiedy rozpoczynałem swoją zabawę z C++ (a w gruncie rzeczy żadnym wielkim wygą nie jestem ;]) takie rzeczy starano się robić w WinAPI z wykorzystaniem ShellExecute, czy SendMessage. Bo jak sam temat mówi wpis ten będzie dotyczył systemu Windows. Wraz z rozwojem języków i środowisk sporą część tychże funkcji można wykorzystać poprzez łatwiejsze w użyciu zamienniki.
Czasami zdarza się, że jesteśmy świadomi istnienia jakiejś funkcjonalności, jednak wredny twórca biblioteki bezwstydnie ją przed nami ukrył. A my ją odkryliśmy na przykład przy pomocy Reflectora.
Wraz z pojawianiem się kolejnych wersji .NET do świata programistów wchodziło coraz większe zamieszanie. Co oznacza każdy następny numerek, jakie zmiany wnosi, jak się owe zmiany mają do poprzedników? Przykładowy fakt, że piszemy program używając Visual Studio 2008 w języku C# 3.0 i korzystając jednoczeście z bibliotek w wersjach 2.0, 3.0 i 3.5, a o jego poprawne działanie dba CLR w wersji 2.0.50727 może nieźle namieszać. Szczególnie u początkujących developerów.
W dobie tak potężnych narzędzi jak Visual Studio programiści często zdają się całkowicie na ich funkcjonalność. Jedną z (wspaniałych zresztą) cech współczesnych IDE jest Intellisense. Czy wyobraża ktoś sobie pisanie kodu bez podpowiedzi? Zobaczmy jednak, że nie zawsze można na tym elemencie polegać w 100% ze względu na "konfigurowalność" nawet tego mechanizmu VS.
Jak powszechnie wiadomo - wielką zaletą wzorca MVC jest umożliwienie testowania jednostkowego logiki "wyciągniętej" z klas odpowiedzialnych za interakcję z użytkownikiem. Swego czasu śledziłem w internecie dyskusje na temat "Jak testować kontrolery, aby możliwie najbardziej odizolować je od reszty aplikacji". O to przecież chodzi w Unit Testing...
Podobnych zestawień można znaleźć w sieci całe mnóstwo. Jednakowoż dorzucę swoje 11 kopiejek w postaci 11 punktów, o których dowiadywałem się z czasem i częstokroć niespodziewanie. Dlaczego 11? Bo nie mogłem się zdecydować na wykreślenie któregokolwiek z nich z listy. Poza tym Rammstein na każdym albumie zamieszcza 11 piosenek, które to stwierdzenie poddaje w wątpliwość sens jakichkolwiek związków przyczynowo-skutkowych zamieszczonych na niniejszym blogu. Ale nieważne. Tak czy siak bez znajomości tej zło...
Jak dla mnie R# jest genialnym narzędziem i nie bardzo wyobrażam sobie pracę bez niego :). Na szczęście nie muszę. Ale do rzeczy. Jeden z moich kolegów zaobserwował pewien problem z uruchamianiem testów NUnit poprez R#. Po poszukiwaniach dotarł do takiej dyskusji na forum...
Podobno w informatyce najcenniejszym zasobem są pomysły. Bo o ile zrealizowanie gotowej idei to praca czysto rzemieślnicza i – przynajmniej teoretycznie – możliwa zawsze do wykonania przy odpowiednim czasie i przy właściwej liczbie osób, to z kolei “wzięcie skądś” pomysłu nie jest taką prostą sprawą. W końcu, jak to ktoś powiedział, pomysły nie rosną przecież na drzewach :)
Kontrowersyjny esej o kodzie czytelnym, część 4: komentarze Komentarze w kodzie metod pomagają nam zrozumieć, co miała na myśli osoba implementująca algorytm realizowany przez daną metodę: dlaczego ten if wygląda tak i po co jest ta pętla. Komentarze pozwalają też na oznaczenie etykietami pewnych logicznych fragmentów metody, które stanowią spójną całość. Takie fragmenty są też często zamykane w regiony. Zarówno komentarze, jak i regiony, wewnątrz metod są znakiem, że kod potrzebuje refaktoryzacji. Sam ...
TFS 2010 szybko zmotywował mnie do przyjrzenia się bliżej Build Services. Powodów jest parę, po pierwsze konfiguracja stała się banalna, dzięki wizualnym narzędziom. Piszę tutaj nie tylko o stworzeniu samej definicji builda. To się znacząco nie zmieniło. Mam na myśli modyfikację szablonu procesu budowania. Wcześniej to był plik zgodny z MSBuild, do którego nie było dobrych narzędzi. Poniżej macie przykład przeplywu w standardowym szablonie realizowany w Vi...
Tytuł nieco przewrotny, ale już tłumaczę o co chodzi. Pomysł napisania tej notki podsunęło mi oczywiście poranne przeglądanie blogów. Nie wszyscy wiedzą, że na platformie .Net liczby parsowane są zależnie od kultury językowej systemu operacyjnego. Co to oznacza?
Chciałem zaprezentować moją klasę ułatwiającą obsługę logowania w .NET, klasa ta napisana jest w c# jak sugeruje tytuł (:
Ta dziedzina przyda mi się wkrótce przy pisaniu nieco większego projektu więc dziś zabawiłem się w pierwsze rozeznanie. Jak się okazuje, C# udostępnia bardzo wygodne w użyciu klasy, umożliwiające prostą komunikację poprzez protokół HTTP. Poniżej fragment kodu..
Język C# ma sporą przewagę nad C++ i część z tych mechanizmów języka będę się starał opisywać co jakiś czas w kolejnych notkach. Tym razem coś co usprawni naszą pracę z klasami – atrybuty/właściwości/properties. Mechanizm ten był w C++ wykorzystywany na około – poprzez metody dostępu tzw settery i gettery a wyglądało to mniej więcej tak...
TabIndex-y Czy zastanawialiście się kiedyś jak szybko i “bezboleśnie” ustalić kolejność kontrolek? Forma z elementami ustawionych w różnych miejscach może być “trudna” do przejścia dla użytkownika, gdy nie ustalimy dla jej elementów właściwości TabIndex (oczywiście gdy korzysta on z klawiatury). Z pomocą przychodzi opcja OrderTab w widoku Designera. Po jej włączeniu widzimy etykietki z kolejnością oraz możemy ją na nowo ustalić (wyklikać). No Responses Yet to “TabIndex-y” Loading...Leave a ReplyKliknij t...