This page lists past articles from the weekly series "Improving code quality".
At LY Corporation's development organization, we focus on improving code quality and development culture to maintain high development productivity. One of our various initiatives is the Review Committee's activities. This involves re-reviewing merged code and providing feedback to reviewers and authors. The insights gathered from these reviews are shared internally every week through a weekly report.
Some topics shared in this weekly report are specific to languages like Kotlin or Swift, or limited to platforms like Android or iOS. However, many articles cover topics that can be applied to programming in general, regardless of language or platform. We select such generally applicable articles and present them on the blog as the "Improving code quality" series. (Note that the code used for explanations in the articles is often in Kotlin.)
(Last updated: 2025-12-17)
- Session 56: Expectation at eighty percent
- Session 55: The Law of Demeter
- Session 54: Silence may be golden
- Session 53: Climb the function mountain with many notifications
- Session 52: Prune branches and wither roots
- Session 51: Convincing questions
- Session 50: The only truth
- Session 49: Dependency between reality and illusion
- Session 48: Wild arguments
- Session 47: Breach of non-performance
- Session 46: Functions are not what they seem
- Session 45: All's well that ends null?
- Session 44: Misdiagnosis of anemia
- Session 43: Return of values
- Session 42: Theoretical testing
- Session 41: "Architecture" under construction
- Session 40: Are two functions better than one?
- Session 39: Contact before work
- Session 38: Where is the master key?
- Session 37: Long lifecycle entanglement
- Session 36: "Tautology is tautology" is a tautology
- Session 35: A phantom argument
- Session 34: Craft brings nothing home
- Session 33: Chef's whimsical decoration
- Session 32: Return from the abyss
- Session 31: Same pot properties
- Session 30: The (transparent) red thread of fate
- Session 29: Gordian variables
- Session 28: Constraints and inheritance tax
- Session 27: Accumulating dependencies
- Session 26: The explanation is in the first sentence
- Session 25: TL;DR: So... what's the point?
- Session 24: The value of inheritance
- Session 23: Too early to return
- Session 22: To equal, or not to equal
- Session 21: Knock on the constructor for good luck
- Session 20: Exceptional exception overwrapping
- Session 19: Child safety lock
- Session 18: Missing the forest for the trees
- Session 17: A castle built on sand
- Session 16: Where there is null, there is smoke
- Session 15: Grammar represents names
- Session 14: The only responsibility of assigning responsibility
- Session 13: Clone family
- Session 12: Set discount
- Session 11: Even functions get tired of calls
- Session 10: Be mindful of keeping a proper distance
- Session 9: Retrace your steps
- Session 8: Reality and illusion
- Session 7: A seat for a new member
- Session 6: If I had eight hours to chop down a line...
- Session 5: Bad enumerations drive out good layers
- Session 4: Testing with breaking a door
- Session 3: Strategy without a strategy
- Session 2: Have you double-checked your code?
- Session 1: Don't cry over spilt errors