Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

The Six Commandments of Good Code: Write Code that Stands the Test of Time
Sep 09, 2016 @ 09:50:44

On the Toptal.com site they've posted a guide that aims to help you write good code that stands the test of time. They provide six "commandments" that they think can help make your code better and easier to maintain in the future.

Specifically, “good code” is code that is easily and readily maintainable by an organization (not just by its author!) and will live for longer than just the sprint it was written in. The following are some things I’ve discovered in my career as an engineer at big companies and small, in the USA and abroad, that seem to correlate with maintainable, “good” software.

Their list includes suggestions like:

  • Treat Your Code the Way You Want Other’s Code to Treat You
  • Good Code Doesn’t Reinvent the Wheel, it Stands on the Shoulders of Giants
  • Don’t Cross the Streams!
  • When Possible, Let the Computer Do the Work

Each item on the list comes with a brief description with a bit more detail and how to apply it to your development. It's not focused on any one language, however, so there's no code samples here - just links to other resources and tools that can help in their application.

tagged: good code commandments better maintenance

Link: https://www.toptal.com/software/six-commandments-of-good-code

Laravel Daily:
Releasing Laravel Packages: Good, Bad and Ugly [VIDEO]
May 05, 2016 @ 10:43:46

In this new post to the Laravel Daily site Povilas Korop shares the second episode of his video podcast "Laravel Business" and talks about releasing Laravel packages.

Here’s the 2nd episode of my new Laravel Business video show where once a week I share the thoughts about Laravel-related work from the business perspective, as I’m transitioning from being a developer to being an owner of a small team.

Today I talk about packages – is it worth releasing Laravel packages? What are pros and cons? And can you earn money on it?

You can watch the episode either using the in-page player or directly over on YouTube.

tagged: laravelbusiness podcast video release package good bad ugly

Link: http://laraveldaily.com/releasing-laravel-packages-good-bad-and-ugly-video/

Source Blog:
Good Code Runs on Good Communication
Sep 18, 2015 @ 11:10:27

On the Source blog there's a great post that reinforces something that all developers should keep in mind when developing their applications: good code runs on good communication. "Tech language" barriers can make this difficult, but this post gives you a few suggestions on places to start improving.

When I started the interactive team at the Sun Sentinel in 2013, I thought the biggest challenge would be the code. I was wrong. [...] It wasn’t always easy. When you need someone on your side, but they don’t speak the same tech language, it can be very difficult. Investing (not necessarily financially, but emotionally and mentally) in creating a space where teams can work better together is key. Here are some strategies for overcoming the language barrier to make collaboration smoother.

They recommend things like:

  • having face-to-face conversations to work out the best solutions
  • avoiding assumptions about skill levels
  • pausing to check and ensure everyone understands the current state of conversation
  • agreeing on common terms and naming

Finally, they make a recommendation that could make some of the developers out their cringe a bit: "document the madness". As they point out, having good documentation of not only the result of the work but also the process along the way can be crucial for future work and others not directly involved in the process to review.

tagged: good code communication opinion recommendation language conversation

Link: https://source.opennews.org/en-US/articles/code-runs-communication/

SitePoint Web Blog:
How to be a Good Developer
Oct 13, 2014 @ 11:54:17

On the SitePoint Web Blog there's a recent post by George Fekete with a few suggestions about how to be a good developer, regardless of the language or technology you're using.

As a PHP developer, or any kind of developer as a matter of fact, you need to constantly improve yourself in this ever-changing industry; you need to learn and use new knowledge every day. What successful developers have in common, is that they care about programming a lot, they are professionals treating good programming practices as a form of art. In this article, you’ll learn about how to be a better developer by following the “etiquette” of programming and you’ll learn how to use this information to perhaps teach others to better themselves.

He starts with some tips about "being professional" overall that include things like being responsible and having a strong work ethic. Then he moves into writing good code. This isn't about actual code examples, more about good practices and tools. He also shares some tips about how to keep things (and yourself) on track and tips on how to "be a master" when it comes to social interactions and the work you're doing.

tagged: good developer opinion professional code focus communication

Link: http://www.sitepoint.com/good-developer/

Stanislav Malyshev:
PHP 5.4 (Looking Back) & 5.6 (Looking Forward)
Sep 01, 2014 @ 09:42:13

In two new posts to his site Stanislav Malyshev takes a look both forward and back at the PHP language, where it came from in the 5.4 version and ahead into the just released 5.6 version discussing the good, bad and road ahead.

With 5.6.0 having been released and 5.4 branch nearing its well-earned retirement in security-fixes-only status I decided to try and revive this blog. As the last post before the long hiatus was about the release of the 5.4, I think it makes sense to look back and see how 5.4 has been doing so far.

Having taken a look in the past, now it’s time to look into the future, namely 5.6 (PHP 7 is the future future, we’ll get there eventually). So I’d like to make some predictions of what would work well and not so well and then see if it would make sense in two years or turn out completely wrong.

In the look back at 5.4 he talks about some of the good (the release process, $this in closures) and some of the "not so good" including traits and the overall adoption rate. He also includes a few "don't know" items such as the overall performance and the inclusion of the mysqlnd driver. In the look forward he talks about the impact of things like constant expressions, phpdbg and function/constant importing (for better or for worse). He also briefly mentions two hurdles to the adoption of 5.6: OpenSSL becoming more strict and the overall adoption rate.

tagged: lookforward lookback opinion version good bad

Link: http://php100.wordpress.com/2014/08/30/php-5-6-looking-forward/

Volker Dusch:
Please stop pretending PHP is a good language
Oct 18, 2013 @ 11:57:09

In Volker Dusch's latest post he makes a suggestion to the PHP community as a whole - stop pretending PHP is a good language and admit its flaws where it has them.

I'm currently observing two kinds of discussions around the core PHP language. A couple of folks say "Sure the language sucks but look at all the amazing stuff we build with it!" and the other camp goes "Look at all the amazing stuff we build - The language can't be that bad!". The main point here is that the PHP applications that have been created over the years are incredible. [...] The astonishing dominance of PHP in the Web doesn't come from the fact that it is a good language, it comes from the fact that it allowed people to create and maintain things that are really useful.

He gets into some of the "it's not okay when..." kinds of things that PHP allows, things like:

  • Presenting the user with the "White Page of Death" when the script dies because of an error
  • Output of basic operations could depend on the environment it's run in
  • Problems with type hinting
  • Not being able to talk to two backend sources at once

He also suggests a few things that you can do to help the situation including not sending angry emails to the internals mailing list and contribute back with something useful instead (like RFCs).

The claim that "PHP is this awesome enabling language that let's you focus on doing awesome things" doesn't hold up when all of the gains are wasting dealing with the obtuse errors.
tagged: pretend good language opinion problems

Link: http://edorian.github.io/2013-10-19-Please-stop-pretending-PHP-is-a-good-language/

Lukas Smith:
Good design is no excuse for wasting time
Mar 28, 2013 @ 11:51:51

In his most recent post Lukas Smith suggests that good design isn't an excuse for wasting time. He's basically saying that Symfony2, because of how it's designed and implemented, isn't a RAD (rapid application development) framework and that it's about time for some layers to be added to help get it there.

Symfony 1.x I would put into a category of frameworks focused on RAD, aka rapid application development. [...] So for those people who were happy focusing on the 80% use case Symfony2 is a step back. Suddenly the same features take longer to implement, take longer to modify later on and on top of that the learning curve is steeper.

He suggests that work be put into "RAD layers" that can sit on top of Symfony2 and provide some of the more familiar features people are used to from things like CakePHP, Yii and CodeIgniter. There's been a few tries to accomplish this with only one getting the closest in his opinion - the KnpBundle.

tagged: good design symfony2 rapid application development framework layer


Ulrich Kautz:
C-based Web Frameworks for PHP
Feb 27, 2013 @ 11:09:46

In this recent post to his site Ulrich Kautz takes a look at an interesting development in the PHP framework world - C-based frameworks installable as PHP extensions. He covers some of the good and bad things about this approach.

At the End of 2012 I had my first contact with a C-based PHP frameworks, namely YAF. Coincidently, some day afterwards Bruno from phpmaster.com pointed me towards Phalcon - a more modern interpretation of the same idea. So I was hooked.

In his "good idea" category he notes that it's faster because it's already loaded in on the request (no long list of includes) and the memory footprint is less than a PHP equivalent. The "bad" side of things mentions some pretty major hurdles though, including the small communities vs larger ones on PHP-based frameworks and the issues that could come with debugging/upgrading.

tagged: cbased framework extension good bad phalcon yaf


The Coders Lexicon:
My Love / Hate Relationship With PHP Traits
Feb 11, 2013 @ 12:50:45

On the Coder's Lexicon site, there's a recent post talking about the author's love/hate relationship with PHP traits, a relatively new feature of the language that apps for more "drop-in" functionality similar to mixins in other languages.

When I saw the introduction of PHP traits in 5.4.0 I was eager to learn all about them and how they worked. [...] PHP traits, in my opinion, are handy and very flexible. I guess that is the “love” part of my relationship with them. [...] However, I feel that traits also meddle with a bit of the inheritance rules that have been proven time and time again. Is it possible to love as well as hate something at the same time?

He talks first about "the love" he feels for using traits in his code. He talks about their usefulness for geting around PHP's single inheritance structure and being able to "bolt on" functionality as needed. Then comes "the hate" of them, noting that in the wrong hands, they could lead to very messy and lazy coding practices (including the deadly diamond of death problem).

tagged: love hate traits good bad example mixin opinion


PHP Traits: Good or Bad?
Jan 21, 2013 @ 09:19:48

In this new post to PHPMaster.com, Callum Hopkins takes a look at one of the more recently added features of the PHP language, traits an tries to determine if they're a good or bad thing for PHP development.

In early March 2012, the PHP Group announced the release of PHP 5.4. Developer eagerly anticipated the release because of the many new features 5.4 would bring, the most sought after being traits. [...] Traits have have been generally accepted by the PHP development community, mainly because it’s a feature that exists within other programming languages like Java, C++, and Python. [...] Are they a feature which will help raise the level of PHP development, or are they just a fad?

The starts with a few reasons why he thinks traits are bad like their potential for abuse and the difficulties that could be caused by using them instead of something like an interface. On the good side, though, he mentions things like allowing for "multiple inheritance" and their addition showing growth in the language.

tagged: traits feature language introduction good bad