The always-spectacular Kiwi PyCon conference has been and gone. It was, as ever, a wonderful weekend. This year I gave a talk introducing the concept of connascence as a way to talk about coupling in software. I've wanted to give this talk for several years, but was diffident - I had this idea that you needed to be some sort of coding expert to talk about this stuff. Well, after several years of waiting for someone else to give this talk, I decided to just do it myself.
I think that reasoning about code structure without a tool like connascence is impossible. I dislike the apparant simplicity of many of the software design principles out there. To my mind: the real world is complex. Our software is complex. Any principle that can be distilled into a 5 second soundbite is clearly missing some important complexity.
I am absolutely convinced that I write better code now than I have in the past, mostly because I have a logical framework to tell me when I need to refactor code, and when it's OK to leave it as-is. Having said that, I'm equally convinced that the idea of connascence needs some refining. Hopefully over the next year I can spend some time to do just that.
My talk video is now on youtube, you can watch it below:
As part of that talk, I also announced the connascence.io website.