Toggle navigation
TOC
Project Outline
Deliverables
Presentations
Examples
Good programming
Good Programming
What is “disposable code”?
Not designed
Incomprehensible 1 year, 1 month, 1 week later
Just barely works, no idea why
“write-only”
Long, ugly methods
Bad or meaningless naming
Rules and Slogans
QUOTE
Know the rules well, so you can break them effectively. (Dalai Lama)
Slogans
DRY: “Do Not Repeat Yourself”.
YAGNI: “You’re Not Gonna Need It”
NIH: “Not Invented Here”
BUFD: “Big Up Front Design “
Discussion about hard and fast rules
Tools to automatically check:
Automatic Code Reviews
Other basic hygene
What’s the right amount of code commenting?
How important is proper formatting?
Why is naming important and what is it’s connection to commenting?
‘Sandy Metz’ Rules
Classes can be no longer than 100 lines of code
Methods can be no longer than five lines of code
Pass no more than four parameters into a method
Controllers (Rails) can insantiate only one object. Therefore views can only know about one instance variable, and only send methods to that object. (@view_presenter.user.username is not allowed)
Welcome
2018 Syllabus
Calendar of Lectures and homeworks
Resources
Lectures
Pilot Project
Welcome!
Lean Startup
Hypotheses
Working on Teams
MVP
Guest Lecture: Michael Skok
Pilot Project Conclusion
Term Project: Startup
Welcome to Term Projects!
Build Measure Learn
Project Planning
The Pivot
The Engine of Growth
Mockups & Prototypes
Testing Techniques
Term Project: Product
Product Market Fit
Jeffrey Beir: Metrics
Business Models
Pricing Models
Andy Payne: Startup Finance
Intellectual Property
Term Project: Business
Finance for Geeks
Founding a company
Real World Survival Kit
Management and Leadership
Dulcie Madden: Startup Teams
Last day converstation
Term Project
Term Project Outline
Minimum Viable Product Info
Hypotheses
Final Presentations
Background
Learning Goals
Grading
Teachers
Lexicon
Interesting links
Credits and acknowledgements