Skip to main content

Code Review

I have been programming in support of my work (research and teaching) for over four decades now. I started in APL, then move very briefly to C and then for a while in C++. A lot of the C++ concepts have stayed with me in terms of programming style, but I then moved to interpreted languages for a number of reasons, first to Perl and now to Python for decades.

Python allows me to at least try to write elegant code and appeals to me aesthetically, although as time goes by I do tend to focus more and more on C++ concepts of interface design, hiding implementations, test-driven development and programming by contract. (Java came along later to these things and I never warmed to Java.)

Now that my retirement is in sight (I'm about 80% of the way through my career) I've been trying to articulate my programming style. I want programs to be correct but also demonstrably correct; clarity and programming by contract are more and more at the forefront of my mind.

For the last few years an on-and-off-again-and-on project has been to develop a framework for reviewing projects that are complete, revising them to expose any logic flaws, and to make them work clearly and not just work. Toward that end I've been working on some automatic diagnostic reporting that I've not currently seen in commercial tools, very idiosyncratic stuff. I've given a talk or two over the years about identifying with group theory classes that should be extracted from an implementation, etc.

It's engrossing, then I tire of it, then I start thinking about it again intensely with a new perspective.

Comments

Popular posts from this blog

Betrayal

I caught a student cheating on a final exam this morning. I had a line of sight on them and watched for ten minutes as they took their cellphone out of their pocket, kept it below their table, typed into it, read it, put it away, then wrote on the exam, repeating this cycle over and over again.  I was a bit surprised as the exam was open notes but this student had not attended many of our classes, just stopping by for exams, and I conjecture that they had no notes to open. I confronted the student who admitted that they had done wrong in an inarticulate non-confessional way. By the afternoon they had signed off on the honor code violation report to avoid further investigation and possible sanctions beyond failing the exam.  Is anger the right emotion to feel now? I had a working relationship with the student, although they had not contributed much to it. They had deceived me in order to gain unwarranted advantage over their peers in the class and that is not right. I don't wan...

Standing Your Corner

I'm a long-term David Simon fan ever since I read his book "Homicide", detailing a year-long embedding with Baltimore homicide detectives. It was clear-eyed about all of the strengths and weaknesses, good reflexes and prejudices of everyone that he met.  I enjoyed the television show that followed that he wrote for, and then of course "The Wire" on HBO and a number of his other shows---only limited by my access to streaming services.  There was a histrionic moment in a later season of "Homicide" where he just let a character vent; a homicide detective who was part-owner of a bar frequented by cops watched a particularly violent drug criminal, responsible for many unsolved homicides, come into his bar with his associates, violating the detective's territory. The detective came around the bar holding a billy club in his hand and loudly discussed his first year as a patrol officer walking a beat. His supervising officer told him that he had a corner a...

Momentum

In my youth my primary social justice commitment was through Amnesty International. As an affluent white male I enjoyed freedoms that I thought ideally everyone should share; in the 1980's we had had the vine of United States support for repressive regimes that were nominally anti-Communist bearing cruel fruit and I in my small part of the world wanted to do something about that.  It was a more active support Amnesty International sought back then; nowadays they just ask me for money. We members were encouraged to write to foreign government officials to urge them to take care of political prisoners that we named, the idea being that as long as they knew that they were seen the cruelty would diminish. One letter per prisoner, because they were all human beings, not just a faceless group. I have no independent way of verifying if the hundreds of letters I wrote eased any suffering; I know that they changed me. Selfishly I am grateful. At the time I made a point of reading journalism...