clean-code-typescript
clean-code-typescript copied to clipboard
TypeScript Generics
Should we cover generics?
While T
might be acceptable when only one generic is used, things get out of hand when multiple generics are used, and i've see people use T
,U
,D
etc which is completely meaningless IMO.
Even the typescript docs now use description generic names: https://www.typescriptlang.org/docs/handbook/2/generics.html
function identity<Type>(arg: Type): Type {
return arg;
}
Example of hard-to-read code due to single character generics: https://github.com/DefinitelyTyped/DefinitelyTyped/blob/64d939eb39dc7b80b27da1a63774cfca755670f9/types/styled-components/index.d.ts
Example of easy-to-read code due to descriptive generic names: https://github.com/tannerlinsley/react-query/blob/755702dd78efadb66038fb2535b7c513c128a918/src/react/useQuery.ts
As a consumer of both of these types, it's so much easier to work with descriptive generic names.