Other People's Code

The coding on their project is reminiscent in many ways of an Ed Sheerhan song. It left me in tears and very confused as to what the author was trying to accomplish.

– a student commenting on their most recent project.

We had some fun last week. Well, OK, I had some fun. The SoftDev classes had just finished a little project. Basically, a blogging platform. Something that would tie together all the tools we've been using. Flask, user management, an SQL database (SQLite), and a nice looking front end.

It was also the first real group project so the teams have started to learn how to work together.

After some project demos, it was time for part two: NOSQL. We explored MongoDB and then it was time for the project - clean up the previous project through the use of techniques like template inheritance and convert the database backend to MongoDB.

The catch? Each group would take another groups project and use that as their starter code. The rules? They could modify and refactor but they couldn't rewrite.

It threw the groups for a loop but I ultimately think they had fun with this.

Afterwards each group gave a write up to their starter group. What made their life easier, what made it harder. We then circled up for discussion as a class.

It was terrific.

First, it was great that we've gotten to a point where everyone feels comfortable giving each other constructive criticism. We've gotten to the point where the class is a team.

Beyond that, I'm hoping that everyone got a lot out of the exercise.

As each group talked, common themes arose:

  • consistent commenting is good
  • variable names matter
  • unused code and files can be misleading
  • overall code structure, file names, and locations are important.
  • and much more

We're now going to start a discussion of coding style, standards, and documentation.

I've got to say that I'm very happy how this little experiment worked out.