-
Recent Posts
Building Backbone Plugins
Backbone apps are plagued with boilerplate code. Eliminate the cruft by building the add-ons and abstractions that you need.
Buy it now, before the price increases (again)!
Amazon affiliate
Recent Comments
- Davy on Building Sample Apps in Ruby, NodeJS and PHP
- Rick Jones on Executing A Project-Specific Node/NPM Package A-la “bundle exec”
- friv on Tips On Submitting A Conference Session
- Dmitri Zaitsev on Building Sample Apps in Ruby, NodeJS and PHP
- Derick Bailey on Building Sample Apps in Ruby, NodeJS and PHP
Archives
- April 2013
- March 2013
- February 2013
- January 2013
- December 2012
- November 2012
- October 2012
- September 2012
- August 2012
- July 2012
- June 2012
- May 2012
- April 2012
- March 2012
- February 2012
- January 2012
- December 2011
- November 2011
- October 2011
- September 2011
- August 2011
- July 2011
- June 2011
- May 2011
- April 2011
- March 2011
- February 2011
- January 2011
- December 2010
- November 2010
- October 2010
- September 2010
- August 2010
- July 2010
- June 2010
- May 2010
- April 2010
- March 2010
- February 2010
- January 2010
- December 2009
- November 2009
- October 2009
- September 2009
- August 2009
- July 2009
- June 2009
- May 2009
- April 2009
- March 2009
- February 2009
- January 2009
- December 2008
- November 2008
- October 2008
Categories
- .NET
- Accessibility
- Agile
- AJAX
- Albacore
- Analysis and Design
- Android
- AntiPatterns
- AppController
- AppleScript
- Arduino
- Async
- Austin Code Camp
- AutoMocking
- Backbone
- Backbone.EventBinder
- Backbone.Memento
- Backbone.ModelBinding
- Backbone.Syphon
- Behavior Driven Development
- Books
- Books Reviews
- Bootstrap
- Branch-Per-Feature
- Branching Strategies
- Brownfield
- Build Tools
- Bundler
- Business
- C
- C#
- Capybara
- Certification
- ChaiJS
- Classy Inheritance
- Coaching
- Code Review
- Command Line
- CommonJS
- Community
- Compact Framework
- Composite Apps
- Consulting
- Continuous Improvement
- Continuous Integration
- CQRS
- Craftsmanship
- Cucumber
- Daily Standups
- Data Access
- Database
- Debugging
- Deployment
- Design
- Design Patterns
- DLR
- Documentation
- DOM
- Domain Driven Design
- DSL
- E-Books
- ECMAScript
- Education
- Ember
- Fluent NHibernate
- FNH.Contrib
- Functional
- Git
- Goals
- Growl
- HAML
- Handlebars
- Hardware
- Haskell
- HTML5
- IronRuby
- Jasmine
- jasmine-async
- Java
- Javascript
- JohnnyFive
- JQuery
- JSFiddle
- JSON
- Kaizen
- Kanban
- KendoUI
- Knockout
- Lambda Expressions
- Lean Systems
- Linux
- Logs
- LSSC
- LSSC10InfoQ
- MacRuby
- Management
- Marionette
- Math
- Messaging
- Metrics
- Mobile
- MochaJS
- Model-View-Controller
- Model-View-Presenter
- Monads
- MongoDB
- Mongoid
- Networking
- NHibernate
- Ninject
- NodeJS
- NPM
- Open Source
- OSX
- Performance
- Philosophy of Software
- PHP
- Podcast
- Pragmatism
- Presentations
- Principles and Patterns
- Product Reviews
- Productivity
- Prototypal Inheritance
- Prototype
- Pusher
- PushState
- Quality
- Rails
- Rake
- Re-Post
- Refactoring
- Resharper
- REST
- Retrospectives
- RhinoMocks
- Risk Management
- RSpec
- Ruby
- SASS
- Screencast
- Security
- Selenium
- Semantics
- SEO
- SignalR
- Sinatra
- Smoke Test
- Socket.IO
- Source Control
- Stack Trace
- Standardized Work
- Subversion
- Technical Debt
- Telerik
- Test Automation
- Testing
- Theory Of Constraints
- Thor
- Throughput
- Tools and Vendors
- Twitter Bootstrap
- Uncategorized
- Underscore
- Unit Testing
- User Experience
- Validation
- Vim
- Visual Studio
- Vlad
- WatchMeCode
- Web Sockets
- WinForms
- WinJS
- Workflow
- Xcode
Meta
Category Archives: Refactoring
A Guest Appearance On Tekpub’s Knockout.js Series
Tekpub release their series on Knockout.js recently and I was fortunate enough to make a guest appearance! Now I know you’re thinking “why would Derick make an appearance in a Knockout series?!” But don’t worry – I’m not there to … Continue reading
Also posted in Code Review, Javascript, Knockout, Screencast
1 Comment
Improve your LINQ with .Any()
LINQ’s .Any() method is under-utilized, given the benefits it brings in making your code briefer, clearer, and more efficient. LINQ in general improves the expressiveness of your collection-manipulating code by using declarative statements instead of imperative foreach loops; .Any() is … Continue reading
Also posted in .NET, Analysis and Design, AntiPatterns, AutoMocking, C#, Craftsmanship, Quality
5 Comments
Running JavaScript… With Sneakers!
Code-review time. I haven’t written significant JavaScript in forevs, but I hit upon a use case well suited to it, had a blast coding it up, and am confident that I’ll be completely mystified by it three months from now. … Continue reading
Also posted in Agile, Kanban, Management
3 Comments
Rebuilding My Backbone.js Plugins With Modules, SRP and More
In the last few weeks, I’ve rebuilt and refactored a large amount of JavaScript code in both my Backbone.ModelBinding and Backbone.Memento plugins. In the process, I re-learned several object oriented design principles and how they apply to JavaScript. I also … Continue reading
Also posted in Backbone, Backbone.Memento, Backbone.ModelBinding, Javascript
Leave a comment
Legacy Operating Systems and Legacy Languages: If it ain’t broke, it still needs fixing
In my travels I’ve encountered systems chugging happily along on outdated, discontinued, unsupported technology stacks. Apps written in VB6, FoxPro, Classic ASP, still running without a hitch because the kinks had been shaken out years ago… Software users delicately avoiding … Continue reading
Also posted in Product Reviews
11 Comments
An Object Lesson in Binary Compatibility
A riddle for you, friends: When is changing a method from return void to return Something a breaking change? If you already know the answer, then why hadn’t you told me? Could’ve saved me a fair bit of embarrassment. Ah … Continue reading
Also posted in Education, Lean Systems, Management, Philosophy of Software, Principles and Patterns
4 Comments
Good Refactoring / Patterns For Simple UI Logic?
I’ve got a chunk of C# that sits inside of a very simple form. The form downloads an update from a web page – one of two possible downloads, based on which one is available – and shows a message … Continue reading
Also posted in .NET, C#, Pragmatism, Principles and Patterns
7 Comments
A Less Ugly Switch Statement For C#
I know switch statements are considered “evil” because they are very procedural code, they violate the Open-Closed Principle, etc etc. But every now and then I don’t see a need to do anything more than a switch statement because the … Continue reading
Also posted in .NET, C#
27 Comments
A Refactoring: Explicit Modeling And Reducing Duplication
A coworker showed me a method that had a series of guard clauses at the top and a series of sequential steps that had to be processed after that. All of the guard clauses and sequential steps were executed the … Continue reading
Also posted in .NET, C#, Principles and Patterns
9 Comments
"Refactoring" Notes
I’m not going to bother with a review of Martin Fowler‘s Refactoring: Improving the Design of Existing Code. It’s good enough that its catalog, available in expanded form online, now provides the definitive vocabulary shared by dozens of refactoring tools … Continue reading
Also posted in Management, Philosophy of Software, Retrospectives
Leave a comment
