I recently completed SOLID Principles of Object Oriented Design by Steve Smith. Here are my notes: Single Responsibility Principle Every object should have a single responsibility, and that responsibility should be entirely encapsulated by the class Strive for cohesion - strong focus of responsibilities within a module or class Strive for loose coupling - the degree to which each program module…
Keep Reading →
What Prism Does According to their website, Prism is a lightweight, extensible syntax highlighter. Essentially, it makes code look nice. There are also several themes you can choose from, depending on personal preference. Before I added Prism to my site, any code I displayed looked like this: Bad Code Ugly, right? Once I added prism to my blog, things looked a whole lot better: Good Code After a…
Keep Reading →
If you use an RSS Reader... You can add my blog by pasting the following URL into your reader: https://ilyana.dev/rss.xml If you're interested in adding an RSS feed to your Gatsby site... Gatsby provides a tutorial for using this plugin, which explains the requisite commandline prompts, as well as the changes you'll need to make to your code. If you're using the same template as me (the gatsby…
Keep Reading →
The String Calculator Kata is a great kata for practicing test-driven development. In this kata, you spend 30 minutes trying to complete as many of the 9 sections as possible, but the idea is that you never read ahead - only read the step you're on. You can view the instructions here. This attempt, I got through 5 sections, two more than last time! Hopefully sometime soon I'll get to a point where…
Keep Reading →
I recently finshed the second edition of Code Complete by Steve McConnell. Here are my notes from the final section, Part 7: Software Craftsmanship. Part 7 includes chapters 31-35: Layout and Style, Self-Documenting Code, Personal Character, Themes in Software Craftsmanship, and Where to Find More Information. 31. Layout and Style Fundamental theorem of formatting states that good visual layout…
Keep Reading →
I'm working my way through the second edition of Code Complete by Steve McConnell. Here are my notes from Part 6: System Considerations. Part 6 includes chapters 27-30: How Program Size Affects Construction, Managing Construction, Integration, and Programming Tools. 27. How Program Size Affects Construction Big projects are massively more complex than smaller ones a project 10 times larger than an…
Keep Reading →
I'm working my way through the second edition of Code Complete by Steve McConnell. Here are my notes from Part 5: Code Improvements. Part 5 includes chapters 20-26: The Software-Quality Landscape, Collaborative Construction, Developer Testing, Debugging, Refactoring, Code-Tuning Strategies, and Code-Tuning Techniques. 20. The Software-Quality Landscape External quality characteristics of software…
Keep Reading →
I recently completed the Pluralsight course Design Patterns Overview by Steve Smith, which was very informative as a bird's eye view of design patterns as a general topic. Why learn design patterns? So you don't reinvent the wheel They allow for increased clarity of communication They often lead to better software Advance your career How to learn design patterns? be familiar with a wide array of…
Keep Reading →
I'm working my way through the second edition of Code Complete by Steve McConnell. Here are my notes from Part 4: Statements. Part 4 includes chapters 14-19: Organizing Straight-Line Code, Using Conditionals, Controlling Loops, Unusual Control Structures, Table-Driven Methods, and General Control Issues. 14. Organizing Straight-Line Code Dependencies mean that one line of code depends on another…
Keep Reading →
I'm working my way through the second edition of Code Complete by Steve McConnell. Here are my notes from Part 3: Variables. Part 3 includes chapters 10-13: General Issues in Using Variables, The Power of Variable Names, Fundamental Data Types, and Unusual Data Types. 10. General Issues in Using Variables Implicit declarations - some languages let you use variables without explicitly declaring…
Keep Reading →