Week 1 - 2023

Week 1 - 2023

Green sproutings

Books

Refactoring:

  • Interesting strategies to deal with 'big' refactorings

  • Interesting concept in the NullObject (Blog post pending)

  • I am left pondering how I would actually refactor the db in something as tightly coupled as Rails

Domain driven design

  • The concept of ubiquitous language is interesting. Although it sounds extremely challenging.

  • I wonder how one could retrofit the ubiquitous language in an already running application

  • Different coding and company languages do not help, but can be relatively easily overcome

Practice

Ruby

  • Participated (i.e. was taught) in the implementation of an actual Factory and Builder Pattern GoF style!

  • Class methods are also affected by inheritance (e.g. super)

Python

  • Data types do not contain all methods that 'affect them' unlike Ruby. (E.g. filter(function, ither)).

  • Python prevents you from having circular dependencies, go Python!

  • List comprehension. It sounds like a very sharp knife, I'll end up cutting myself.

Testing

  • Starting to get a grasp of how BDD is supposed to work, after my fair share of failures trying it. (In a one man hobby project, still curious to see it in 'the wild')

  • Getting better at testing the behavior and not the implementation

Misc

Notes to self

  • If you want to find a defect, follow the error message

  • If something starts to feel unnatural or like you are fighting your program, probably you are doing something wrong

  • @ keywords in Python are scary!

List of topics of interest*

*Where I want to learn more of

  • UML

  • Databases

  • Functional Programming

  • Bash/shell

  • DDD

  • CI/CD

  • Agile in practice

  • Game development

Things to (re)try next week:

  • Pomodoro

  • Eat the Frog

  • A bit of UML where possible

Wins:

  • Managed to get my game project to where I can highlight the individual cells on hover.

Losses:

  • Did not fix all the defects that needed fixing

Surprise:

  • chatGPT is quite useful albeit dangerous in the green side of red-green-refactor