On Wed, 11 Sep 2019 at 15:10, ducasse <steph...@netcourrier.com> wrote:
> > > > On 11 Sep 2019, at 04:07, James Foster <smallt...@jgfoster.net> wrote: > > > > Would use of ? and ! in unary/keyword selectors be convention or somehow > required? If simply convention, then we should start with renaming testing > methods to be named is* or has*. > > flag1 := anInteger even. “not good" > Agreed. That could "almost" be construed as converting a 3 to a 2 or 4. > flag2 := anInteger isEven. “better" > Agreed. It reads well. > flag3 := anInteger even?. “how much better?” > For me, this doesn't read as well as flag2, but even though there is some redundancy, for me a combination reads well... flag3a := anInteger isEven? Perhaps if "?"==>Boolean was a strong convention then there could be a check when the value is returned rather than when it is used (or would that complicate other things?) > flag4 := #(1 2 3) includes?: 2. “how much better?” > My first impression is "yuck!", but then I think... "maybe" if there was a definite benefit (i.e. optimization) from strong guarantees about the return value being Boolean. > > I think that I would use ? mainly for unary message > > Now I’m sure that if you look carefully some people use > > include > for the action > includes > for the tests > > I took include as an example and this is super not intention revealing. > > >> lineUpBlockBrackets > > lineUpBlockBrackets? > Now I will rewrite them all as shouldLineUpBlockBrackets or > isLineUpBlockBrackets and to me for unary message ? makes it a lot better. > btw, some alternatives... doBlockBracketsLineUp - reads well but "do" is already a loaded word areBlockBracketsLinedUp - reads well with the past-tense phrasing cheers -ben