refactoring

Recursos de programación de refactoring
Do you want to remove the excuses for not being a professional software developer?Release as frequently as possible, it will give you tons of feedback about the product, the design, the code, the architecture and so on... And at the same time, it forces you to have confidence in the code, automatic testing, automatic deployment, good tooling and infrastructure and learn one of the most difficult but useful skills for a developer... the skill of making large changes in small c...
The past week I attended to my second Socrates Canaries (Software Craftsmanship and Testing Conference)... This posts summary the experience (things I have learned, ideas to explore, techniques to use...). The Socrates event is an open space, so whatever happens is the only thing that could have :)Notes from the sessions:Under the umbrella (elixir) @gemcfadyenInteresting and very practical presentation about how to organize and structure elixir application using the umbrella concept (h...
The past week I attended to my second Socrates Canaries (Software Craftsmanship and Testing Conference)... This posts summary the experience (things I have learned, ideas to explore, techniques to use...). The Socrates event is an open space, so whatever happens is the only thing that could have :)Notes from the sessions:Under the umbrella (elixir) @gemcfadyenInteresting and very practical presentation about how to organize and structure elixir application using the umbrella concept (h...
La semana pasada Carlos y yo impartimos un curso de TDD en Barcelona en formato abierto. Los cursos en abierto son siempre muy gratificantes porque los asistentes vienen con muchísimas ganas de trabajar y de aprender. De hecho, varios de ellos pagaron el curso de su propio bolsillo e incluso vinieron de otras comunidades. Muchísimas gracias a todos por venir y por su entusiasmo. Los cursos en abiertos son también muy interesantes porque en ellos solemos conocer a gente muy apasionada por su tra...
This post appeared originally on Codesai’s Blog. Lately at Codesai we’ve been studying and applying the concept of connascence in our code and even have done an introductory talk about it. We’d like this post to be the first of a series of posts about connascence. 1. Origin.The concept of connascence is not new at all. Meilir Page-Jones introduced it in 1992 in his paper Comparing Techniques by Means of Encapsulation and Connascence. Later, he elaborated more on the idea of connascence in h...
Symmetry is a subtle concept that may seem only related to code aesthetics. However, as Kent Beck states in Implementation Patterns, "...finding and expressing symmetry is a preliminary step to removing duplication. If a similar thought exists in several places in the code, making them symmetrical to each other is a first good step towards unifying them"In this post we'll look at an example of expressing symmetry as a way to make duplication more visible. This is the initial code of a version of...
These are great talks that I've seen during November:AgileByExample 2016: Henrik Kniberg - Keynote - Focus (or Stop Starting, Start Finishing)  Henrik Kniberg. As usualy Henrik deliver a great talk that inspired me a lot.DOES16 San Francisco - Time Theft: How Hidden and Unplanned Work Commit the Perfect Crime Great talk about the most important factors that destroy the productivity and the flow. Explain some off the concepts of Lean and is a great complement of to the classic ...
El objetivo del curso "Refactoring PHP" es mejorar el código PHP de nuestras aplicaciones sin miedo a romper la funcionalidad y mejorando el mantenimiento del código. La idea es aprender técnicas para mejorar nuestras habilidades como programadores y poder afrontar modificaciones en un código legado evitando los problemas comunes. Accede al curso en https://geekshubsacademy.com/cursos/refactoring-php
You may be hearing a lot of buzz around functional programming. For example, Java 8 recently introduced new features (lambda expressions and method references) and APIs (Streams, Optional and CompletableFutures) inspired from functional ideas such as first-class functions, composition and immutability. However, what does this mean for my existing codebase? In this talk, we show how you can refactor your traditional object-oriented Java to using FP features and APIs from Java 8 in a beneficial manner. We discuss things like: - How to adapt to requirement changes using first-class functions. - How you can enhance code reusability using currying. - How you can make your code more robust by favoring immutability over mutability. - How you can reduce null pointer exceptions with Optional. About Raoul CEO & Co-founder of Cambridge Coding Academy, PhD Computer Science, Co-author of Java 8 in Action Raoul-Gabriel Urma is CEO and Co-Founder of Cambridge Coding Academy. He is also author of the bestselling programming book “Java 8 in Action” which sold over 15,000 copies globally. Raoul completed a PhD in Computer Science at the University of Cambridge. In addition, he holds a MEng in Computer Science from Imperial College London and graduated with first class honours having won several prizes for technical innovation. Raoul has delivered over 60 technical talks at international conferences. He has worked for Google, eBay, Oracle, and Goldman Sachs. He is also a Fellow of the Royal Society of Arts. About Lambda World: The 2016 Lambda World brought together Functional Programming enthusiasts from around the world for two days of presentations, hacking, networking, and a healthy dose of partying in Cadiz, Spain. Hosted by 47 Degrees, the event also featured a Typelevel Community Conference and a Scala Center Hackathon. Join in on the conversation at http://www.twitter.com/lambda_world and http://www.twitter.com/47deg using #LambdaWorld. Stay tuned to http://www.lambda.world and http://www.47deg.com for more on the conference and announcements for the 2017 event.
Using literals in your tests can have some advantages, such as, readability and traceability. While this is true when the data are simple, it's less so when the data are nested, complex structures. In that case, using literals can hinder refactoring and thus become an obstacle to adapting to changes. The problem with using literals for complex, nested data is that the knowledge about how to build such data is spread all over the tests. There are many tests that know about the representation of...