- May 2020
It seems weird to me that we are trying to enforce commit messages when they are not really visible or used in the GitLab workflow at all. This is what you see most of the time when interacting with the commit list. I've taken time to compose a nice descriptive body and it is hidden by default:
P ⇒ Q
It may be confusing for a newcomer (or on first read-through) that the variable/predicate/condition that represents the "necessary condition" in this statement P ⇒ Q is the Q.
One might be forgiven for incorrectly assuming that the P represents the necessary condition. That is because most of the time when one states a statement/relation/implication/etc. about a subject, the sentence/statement begins with the subject. For example, if we're explaining about a "less than" relationship, and we give x < y as an example, one would correctly assume that x is the subject here and x is the thing that is less than.
So it may be a bit surprising to a newcomer (on first read-through) that the subject of this section — the necessary condition — is represented by the Q and not be the P.
(Made even more confusing by the fact that the very same implication P ⇒ Q is also used to express the opposite sufficiency relationship in the very next section. I would argue that Q ⇒ P should have been used instead in exactly one of these sections to make it clearer that the subject is different and/or the relation is different, depending how you look at it.)
Is there any reason we couldn't rewrite this to express the logical relation between P and Q with the subject first? If we let P be the subject (that is, "necessary condition" that we're illustrating/explaining), could we not rewrite this as P ⇐ Q?
In fact, that is exactly how this relation was expressed below, in https://en.wikipedia.org/wiki/Necessity_and_sufficiency#Simultaneous_necessity_and_sufficiency !:
that P is necessary for Q, P ⇐ Q, and that P is sufficient for Q, P ⇒ Q