5

I'm defining coding conventions for Progress OpenEdge in our company. In this language one can use symbols or keywords for operators, both work the same. For code quality purpose (code review, code readability, ...) it's a good idea to select one preference.

I consulted code conventions from other companies. They all had the rule: use symbols. I simply copied this rule BUT some developers start holy wars to use keywords instead.

Is there any best practice in this respect? What to choose, symbols or keywords?

enter image description here

  • 2
    My own experience, entirely anecdotal, is that developers prefer symbols every time. Until you get to a language like APL. – Frank Hileman May 11 '17 at 0:40
6

"I simply copied this rule" I think this sums it up.

If you cant justify a coding convention with a pretty strong argument, just don't have one. They slow developers down and cause arguments.

'readability' just isn't good enough. As you have discovered its a subjective thing and people have strong views one way or the other.

Reasons I would agree are sensible

  • Automated tests. So we can run regression checks faster and cheaper than manually.

  • Work on a feature branch. So if another feature finished before yours we can release it.

  • Version Apis. So we can upgrade with zero downtime

that kind of thing

2

The goal is your team has to make this project work. There may be rules of thumb or outside standards, but if things are wrong or don't get done on time, those outside the team are not going to come and fix it for you. Who cares what they think.

I'd use the following criteria and pick which one applies.

  1. What does the existing code base use?
  2. What are the current developers use to?
  3. Are there any domain experts or project leaders who are involved with either creating formulas (engineers, statisticians, analysts, etc) who rely on communicating one way or the other?

As much as programmers like to have control of everything, if I can abdicate any domain logic to someone else with expertise, I'm going to use code they understand, so I don't have to translate.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.