cloud, webdev

Code Reviews Will Improve You (And Your Code)

Fog on mountains

There are many options to improve your software quality.
One of the most effective methods is to do code reviews with other developers.
Code reviews are as much a social interaction as a technical best practice. In a healthy engineering culture (egoless), team members engage their peers to improve the quality of their code and increase their productivity. Developers understand that the time they spend looking at a colleague’s code is repaid when other team members examine their own deliverables. These days, most of the companies (e.g. Facebook, Netflix, Google, Amazon, Uber) are embracing it, so it’s another sign that something is working well here.
The important thing to remember when you are doing a code review is to be kind and to ask questions (clarifications) before you suggesting anything.

Why Ask For A Peer Review?

  1. The most basic reason is to find bugs.
    If you won’t ask for it, you will miss bugs in your code:
    a. Accidental errors – typos or mixing variables.
    b. Structural errors – dead code, logic or algorithm bugs, performance or architecture concerns. These are often much easier to spot for an external reviewers the see your work from their perspective.
  2. You preventing from yourself a great way to learn and get better – Committers are motivated by the notion of a viewer who will look over the change request: the committer tends to clean up loose ends, consolidate TODOs, and generally improve the commit.
  3. Your code is not as clear as you think. Another developer will make it better both from its testability and readability aspects.

Code reviews are very important not only for developers but also to product managers, test engineers, designers and others.

In many cases, developers will be the first ones to see the benefits. It will allow them to move faster and with higher quality. Continue reading

Advertisement
Standard
testing

Testing Software – Best Practices

Garda Lake

Some (raw) thoughts on what are the elements that give you a quality and testable code.
It’s not a full list of TODOs but some best practices that should serve you as a good baseline. If you have any suggestions, please feel free to comment.

Tests

If we agree that you must have tests in your project – The next good question is what is a good test?

  1. It’s FAST – The tests should run fast in order to encourage developers to use them constantly during the development process.
  2. Stable – The test doesn’t break often. You wish to minimize the false-positive ratio as much as you can. This is why you need ‘small’ tests that are encapsulated and give you a clear sign on what is working (or not).
  3. Easy to read and understand.
  4. Catches Bugs! When a test fails it’s most probably a bug.

Continue reading

Standard
Chrome, JavaScript, mobile, webdev

The Latest From The Web

google-chrome-logoA lot of new interesting APIs that are pushing the web platform forward introduced with Chrome 43 (now in Stable). Let see the ones that are going to impact a lot of users.

  • The Fetch API now allows developers to directly operate on and incrementally release the bytes of streamed network responses, in contrast to the equivalent XMLHttpRequest functionality that requires developers keep the entire in-progress stream response in memory.
  • The Cache Storage API, previously only available in service workers, now provides developers full imperative control over their caching in the page context. This is huge! It will enable users to have better (=faster) experience in places where the connections are not good.
  • Autofill and Autocomplete – People hate filling out web forms, especially on mobile devices, learn how to help them complete it up to 30% faster. (And yes! I wrote it).

Continue reading

Standard
Chrome, Design, HTML5, mobile, webdev

Mobile Web For Mobile World


chrome_front-androidHere are the slides from a talk I gave at Campus TLV to developers from the government. It’s clear that mobile is growing very fast and you must have a quality present on mobile devices. You wish your site (and apps) to be ‘mobile first’ and make sure they are using the best practices for mobile.
It’s important to remember that E-commerce occurs across apps and web, but consumers rely disproportionately on mobile web for commercial tasks. In these slides, we will see how to improve your sites or applications. Btw, if you wish to read this information in Hebrew, you can find it over at DevHeb.com Continue reading

Standard
Chrome, HTML5, JavaScript, webdev

uptodate.frontendrescue.org just got a hebrew version

fed-uptodate-hebrewI’ve been contributing to this cool project: github.com/frontend-rescue/keep-up-to-date and today it’s live!

If you wish to check what are the best practices for front-end developers (in hebrew) this is your version: http://uptodate.frontendrescue.org/he/

Good luck.

Standard