Skip to main content

12 Practices to be a Better Developer

The 12 Practices

  1. Source Control - If you don’t store your code in source control, you’re putting your company at risk.
  2. Test-Driven Development produces higher-quality code. Behavior Driven Design - Behavior is documentation for other developers and users.
  3. Build Systems - Building is more than just compiling code.
  4. Continuous Integration - Check in early and often.
  5. Real Time Code Review - Two heads are better than one.
  6. Refactoring: Easy as red light green light.
  7. Read Code - "You don’t become a better writer by just writing." Scott Hanselman
  8. Code In Increments - Real programmers work for hours and hours straight, without a break, without even looking up. Don’t break your flow to stop and compile: just keep typing! :)
  9. Sharpen your skills by learning a new language.
  10. Learn SOLID
    • Single Responsibility Principle - There should never be more than one reason for a class to change.
    • Open Closed Principle - A class should be open for extension but closed for modification.
    • Liscov Substitution Principle - Subtypes must be substitutable for their base types.
    • Interface Segregation Principle - Clients should not be forced to depend upon interfaces that they do not use.
    • Dependency Inversion Principle - High level modules should not depend upon low level modules. Both should depend upon abstractions. Abstractions should not depend upon details. Details should depend upon abstractions.
  11. Know when to unlearn. The ways you learned when you first started are clearly the best ways. Not much has changed since then, really. :)
  12. Be a Mentor

Read further here: 12 Practices to be a Better Developer

Popular posts from this blog

.NET 8–Keyed/Named Services

A feature that a lot of IoC container libraries support but that was missing in the default DI container provided by Microsoft is the support for Keyed or Named Services. This feature allows you to register the same type multiple times using different names, allowing you to resolve a specific instance based on the circumstances. Although there is some controversy if supporting this feature is a good idea or not, it certainly can be handy. To support this feature a new interface IKeyedServiceProvider got introduced in .NET 8 providing 2 new methods on our ServiceProvider instance: object? GetKeyedService(Type serviceType, object? serviceKey); object GetRequiredKeyedService(Type serviceType, object? serviceKey); To use it, we need to register our service using one of the new extension methods: Resolving the service can be done either through the FromKeyedServices attribute: or by injecting the IKeyedServiceProvider interface and calling the GetRequiredKeyedServic...

Azure DevOps/ GitHub emoji

I’m really bad at remembering emoji’s. So here is cheat sheet with all emoji’s that can be used in tools that support the github emoji markdown markup: All credits go to rcaviers who created this list.

Kubernetes–Limit your environmental impact

Reducing the carbon footprint and CO2 emission of our (cloud) workloads, is a responsibility of all of us. If you are running a Kubernetes cluster, have a look at Kube-Green . kube-green is a simple Kubernetes operator that automatically shuts down (some of) your pods when you don't need them. A single pod produces about 11 Kg CO2eq per year( here the calculation). Reason enough to give it a try! Installing kube-green in your cluster The easiest way to install the operator in your cluster is through kubectl. We first need to install a cert-manager: kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.14.5/cert-manager.yaml Remark: Wait a minute before you continue as it can take some time before the cert-manager is up & running inside your cluster. Now we can install the kube-green operator: kubectl apply -f https://github.com/kube-green/kube-green/releases/latest/download/kube-green.yaml Now in the namespace where we want t...