Jest to kolejny post z serii code smelle w unit testach. Tym razem przedstawiam jeden z najczęstszych code smelli jakim jest duplikacja kodu. Zapraszam do lektury!
Sztuka programowania 1163 dni, 7 godzin, 19 minut temu 65 źrodło rozwiń
Hey, I recently did the Dive into Refactoring course with refactoring.guru and wrote down my findings in the form of a review. If you are looking for some good study materials, this post is definitely for you!
Sztuka programowania 1180 dni, 6 godzin, 50 minut temu 48 źrodło rozwiń
This time I'd like to share my story about a simple bug that has grown to a serious size and what I should do to avoid it. Feel free to read!
Sztuka programowania 1212 dni, 7 godzin, 2 minuty temu 93 źrodło rozwiń
Jedziemy z 61. odcinkiem Ostrej Piły. W nim, razem z naszym gościem, porozmawiamy o wystarczająco dobrym oprogramowaniu. Czy zawsze powinniśmy cisnąć kod aby była najlepszy z możliwych czy jest jakiś poziom przy którym możemy powiedzieć, że to co mamy jest good enough? A na koniec konkurs.
Jak tworzyć dobry kod? Naucz się refaktoryzować! Jak to Zrobić? Odpowiadam w 59 odcinku.
Sztuka programowania 1745 dni, 6 godzin, 50 minut temu 119 źrodło rozwiń
O wymówkach dla brzydkiego kodu, czyli “Dlaczego ludzie piszą kiepski kod?”
Sztuka programowania 1758 dni, 6 godzin, 42 minuty temu 243 źrodło rozwiń
Refaktoring to sposób pracy z kodem źródłowym, gdy nie zmieniając funkcjonalności zmieniamy jego wew. strukturę. A po co? Aby utrzymanie było łatwiejsze, a rozwój i dodanie nowych funkcjonalności dużo szybsze
Sztuka programowania 1765 dni, 6 godzin, 46 minut temu 100 źrodło rozwiń
Czym jest refaktoring penetracyjny? Kiedy potrzebujesz naprawić buga lub zapoznajesz się z aplikacją, ale jeszcze nie wiesz jak ona dokładnie działa. Widzisz, że łatwiej Ci będzie zrefaktorować kawałek kodu, aby zrozumieć cały system. I jak już dojdziesz do etapu: “Aha, o to chodziło💡” masz 3 opcje co zrobić z tym refactorem. Odpowiedź i szczegółowe wyjaśnienie znajdziesz w 56 odcinku vloga “Refaktoring Penetracyjny”.
Sztuka programowania 1788 dni, 6 godzin, 44 minuty temu 121 źrodło rozwiń
Jak podejść do wytwarzania oprogramowania, by był on zawsze rozwijalny? Warto refaktoryzować, wiadomo, ale jak do tego podejść? Jakie możemy wyróżnić rodzaje rafaktoryzacji?
Sztuka programowania 1803 dni, 7 godzin, 5 minut temu 202 źrodło rozwiń
Powiedzmy, że mamy projekt, w którym wcześniej nie znano Resharpera. Otwierając taki kod „wszystko świeci” na różne kolory sugerując, że mamy w kodzie wiele problemów. Moje doświadczenie programistyczne mówi mi, że warto wysprzątać te miejsca, ponieważ na wstępnie z automatu poprawi się nam wiele bugów i znacznie zwiększy czytelność. I tutaj staje się przed problemem ...
Ile to razy otwieraliśmy jakiś kawałek kodu i nagle szok. Metoda ma 300 linijek i z 6 zmiennych. Jak sobie radzić z gigantycznymi metodami? Przedstawię kilka wypracowanych przepisów na radzenie sobie z legacy code. Nie będą one związane z jakimiś konkretnymi wzorcami itp… Cały kod jest dostępny na GitHub.Gigantyczne metody Tak powiem w tajemnicy, że największa metoda z jaką miałem do tej pory do czynienia miała łącznie 9009 linijek i przyjmowała 25 parametrów. Podręcznikowy przykład cl...
Sztuka programowania 2739 dni, 20 godzin, 18 minut temu 298 źrodło rozwiń
Ladies and gentlemen – the second post about ReSharper! This time, let’s focus on refactoring, auto-generation of code and some smart ‘helpers’
Daj się poznać 2017 2838 dni, 6 godzin, 25 minut temu 100 źrodło rozwiń
Legacy Code is legacy code as soon as it’s written I know you have seen this ugly, scary code, during one of the bugfixing sessions, or when adding some features to the existing codebase. Everyone did. I know sometimes it feels like the class, or method has been written ages ago and what is worse: apparently it is working fine, for now. We don’t like those names for variables, we see that repetitions in code, we could even swear, that this code could be much shorter and cleaner. But who would touch ...
Daj się poznać 2017 wtorek, 7 marca 2017 21:47:43 GMT 12 spam? źrodło rozwiń
It’s unbelievable how sometimes we can do simple things so complicated. Fortunately in programming world we have something what is called “refactoring” and we really should do it as often as we can.
Sztuka programowania 2868 dni, 7 godzin, 19 minut temu 41 źrodło rozwiń
Na przykładzie programu rozpoznającego waluty. Postarałem się pokazać jak łatwiejsza jest refaktoryzacja kodu przy użyciu TDD.
Sztuka programowania 2980 dni, 21 godzin, 11 minut temu 112 źrodło rozwiń
Do you ever feel like (well, you should) these huge switch + case statements or too many ifs seem to be wrong? What if I told you, there’s one simple trick that will change your life, by getting rid of them? Ok, seriously – I have nothing against switch or if as the way of controlling the flow (I use them quite often) however, there are certain occasions at which the things could be done better. And let me show you another way to achieve the same goal which is much cleaner in terms of code readability a...
Sztuka programowania 3083 dni, 5 godzin, 7 minut temu 361 źrodło rozwiń
NDepend is one of these tools, that I have ever wanted to try out, but somehow couldn’t find the right moment to do so. Quite recently, I’ve eventually decided to give it a shot and I can honestly say that I’m very impressed with the outcome. This tool provides so many statistics and analytics that I’m still wondering what else can be checked in terms of .NET projects complexity, structure, layering, readability and other important things which in the end make a real difference between the great, good, ...
Refactoring it should be a simple process. But when we ask a random developer, he will be afraid of it. But why are we so afraid?
Sztuka programowania 3216 dni, 18 godzin, 34 minuty temu 124 źrodło rozwiń
Napisany przez paweltymura on I pisząc wszyscy nie wyłączam z tego siebie W artykule w którym zamieniam foreach na Linq robiąc mały refaktoring dostałem dużą ilość feedbacku zwłaszcza od kolegi Revisa. Dzięki bardzo! Serce rośnie jak ktoś się interesuje. W pracy natomiast mam takiego swojego guru – programistę, który skwitował nasze (moje i Revisa) końcowe wypowiedzi "... ale Wy głupoty gadacie". I się zaczęło.
Sztuka programowania 3222 dni, 7 godzin, 1 minutę temu 673 źrodło rozwiń
Napisany przez paweltymura on Jak agregować tekst do String Buildera? Zazwyczaj robi się to tego typu kodem: public string GetPagedHtml() { StringBuilder sb = new StringBuilder(); foreach (var page in Pages) page.CollectHtml(sb, page.Index==0); return sb.ToString(); } Ale przecież można łatwiej, lepiej i przyjemniej... z Linq.Aggregate.
Sztuka programowania 3222 dni, 7 godzin, 1 minutę temu 247 źrodło rozwiń