Question: I use `camelCase` in my code and database field names, etc, but with fields that have `Id` at the end, it always ends up being hard to read. For example, `itemId`, `teacherId`, `unitId`, etc. In these cases I consider breaking convention and writing `itemID, teacherID, or unitID` just for improved readability.

What do you do and what's a general, best practice of dealing with this issue?

Answer: 
It doesn't matter, *just as long as you're consistent throughout your program*.

That being said, I'd go with "Id".
I agree with the other answers that the most important thing is to be consistent.

I'd add that, if there isn't an established standard for your particular codebase, you should follow the conventions set by your language or platform. In Java, acronyms and other capitalized words are uncapitalized for identifiers:

```
id
url
getId()
setUrlParameters()

```

In Objective-C, it's the opposite. You might have a lowercase "id" or "url" variable, but you also have classes such as:

```
NSURL
NSURLRequest

```

So in Obj-C I would choose a method name like:

```
setURLParameters:

```