Semantic Focus

In his book Stylish F#, Kit Eason describes a few unstylish pitfalls that developers may fall into. One of these pitfalls he calls lack of semantic focus.

I'll describe the kind of code that isn't readable with minimum context as having poor semantic focus. In other words, relevant meaning isn't concentrated in a particular place but is spread about the codebase. - Stylish F# p.4

As far as I can tell, Eason coined this term as it relates to programming but what he's describing is something I value and I like being able to sum it up in a pithy term. A few ways I can think of to maintain good semantic focus: write small, pure functions and if big functions are needed, they should contain a bunch of small, pure functions; prefer declarative over imperative style; use pipeline operators and composable functions; and prefer immutability. All of these things should generally result in any given block of code being compact, digestible and semantically meaningful.

In other words, prefer functional-first code.