делать, но не ради галочки. 100% coverage кстати тоже не особо помогает от багов (если не написана нужная строчка кода, то даже весь покрытый код тестами очевидно не гарантирует правильность работы).
понятное дело, что любой аудит лучше чем его отсутствие (так как кто-то со стороны посмотрел код и постарался в нем разобраться). Но это вообще ничего не гарантирует
ну.. на хабре можно статью разместить с заголовком "смотрите какой классный контракт я написал". И там в комментах код так обосрут, что как раз как ревью получится
если в моем контракте рандомное число будет генерироваться по такому алгоритму на сколько сложно его предугатаь ? return uint(keccak256(abi.encodePacked(block.timestamp, block.difficulty)))