I noticed that OP_TRUE and OP_FALSE aren't in OPCODES_BY_NAME. I am not sure if this is intentional. If it is intentional, then a comment should be added; and if it isn't, then they probably should.
OP_INVALIDOPCODE can probably stay out.
Context: I was parsing some strings like "OP_WHATEVER OP_TRUE" to convert to CScript objects, using OPCODES_BY_NAME as the lookup table.