Matheus Marabesi website, sharing ideas about software development - Listing posts on page 11

Is TDD dead ?

Recently I’ve heard about the death of TDD, but is it true ? Some argues that TDD is dead and who had used it in the past nowadays is not using anymore. Frequently I tried to follow all the rules of TDD when I’m coding but I have to confess, it is not easy. Though I do write unit test (and functional as well), sometimes without following the gold circle (Write the test first see it failing and then make it pass). How about the frameworks? The first thing I’d like to understand is why frameworks are worried about testing ?...

Software engineering, in the developer's hand?

If you’re a programmer, analyst or something related to I.T (Information Technology) you probably already have heard about software engineering. What is that? What can engineering do for software? Great part of people who heard “engineering” thought about numbers, equations, formulas and crazy people. Therefore software engineering is about practices, techniques to build a great software with quality, security. maintainability and so on. Software engineering is the study and an application of engineering to the design, development and maintenance of software [1]. Software engineering is the study and an application of engineering to the design, development and maintenance of software [2]....

Continuous Delivery

As we know the software nowadays exists to support the business rules and I believe that it is  a huge problem to programmers as well as everyone involved with software development. Basically as the business grow, the software might change as well but change isn’t the problem, it is the frequency. How can we deal with requirements today that change tomorrow? How can we guarantee our software quality? And the most important how can we delivery value? Value is something that the business just has after a software has been deployed in production. Often release to production is something to worry...

Algorithms, Algorithms, Algorithms .... Oh Wait!

I started a new challenge trying to find a new job here in Brazil and I thought it would be easy since I have a great experience and I’ve been studying a lot about software development in general(design patterns, CI, software engineering). Simple mistake. I went to a couple of interviews in many companies and I found a huge difference on the market. Companies are looking for candidates who have strong algorithm skills and believe or not it is my weakness. So, as nothing in this life is mean-less I decided to study and deep into algorithm’s world. HackerRank? HackerRank is...

Phing ? Automate all the things ! - Practical example

If you want to know what is Phing, why should you use it and see some simple XML code please visit the part one of this post here. The main objective here is to demonstrate how Phing fits in our day as developers and how useful it is. Nothing better than a real example world to illustrate and clarify our minds. Starting the project Here I’m going to propose a workflow to illustrate where Phing fits and how it can contribute to improve our productivity. Usually when we start a new project that already exists we clone it, we run...

Phing? Automate all the things!

Phing is a tool based on Apache ant to automate tasks. Sometimes we as developers do repetitive tasks such as copy from a host to another, checkout new branches even deploying to a new server, in this scenario Phing comes to stage to help us to automate everything. PHing Is Not GNU make; it’s a PHP project build system or build tool based on Apache Ant. You can do anything with it that you could do with a traditional build system like GNU make, and its use of simple XML build files and extensible PHP “task” classes make it an...

ZCPE 5.5 here we go – PHP Basics (Language constructs)

Zend divided language constructs in three main categories output construct, evaluation construct and others constructs, you can find this division in zend study guide for PHP 5.5 exam. Output Construct Description die / exit Used to output a result and then terminate the running script echo / print Used to output a result return Used to halt a execution of a function or a script Evaluation Construct Description empty Used to identify if an variable is empty (without an value) eval Used to evaluate string content include/include_once Used to include a file (using this just a warning is thrown if the...

ZCPE 5.5 here we go - PHP Basics (Variable variables)

PHP Basics is the first topic of ZCPE where is covered many topics and one of them is variable variables. Variable variables in PHP is useful but must be used with careful. In this post I’ll try to explain to you how to use the simplest form of variable variables. When you start to learn PHP often you are told that a variable start with an dollar sign ($) and it must be followed by and underscore (_) or an character and not an numeric value. With that information is clear to know which below is not a valid PHP variable, right?...

GitHub badges! (PHP repository) - Tutorial with Travis and GitHub

Disclaimer : If you don’t know what are badges I’d suggest a quick view to https://poser.pugx.org which is a open source project with badges for PHP projects. Also for this post I’m assume you have a experience with GitHub already and know how to commit, push, pull or use GitHub from web interface. Repository used for this post you can find here. Badges that we’re going to use: Build Status Coverage Status Total Downloads Latest Stable Version Latest Unstable Version License Final result Travis CI First step is go to https://travis-ci.org and click in Sign in with GitHub and Travis will ask...

ARE YOU NOT USING TDD?! – PART 2 (Legacy code)

In the part one I introduced the life cycle of TDD you can see here and how it works, but often people come to me and ask about the legacy code how can we start using TDD with legacy code? Should we start from zero? Should we use baby-steps? I decided to share my experience in how I used TDD in legacy code and how I did to get this task done also I have to say many thanks to my friend Alexandre Cintra who helped my a lot giving me gold tips. Edit: Jun 17, 2015 You can find...