Тёмный

Contracts improve code review 

George Fairbanks
Подписаться 5 тыс.
Просмотров 962
50% 1

Опубликовано:

 

19 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 4   
@samuellotz8304
@samuellotz8304 Год назад
You've outined why you would write contracts and a lot of examples with guide rails etc. I would imagine that a big project in a language without contract support would need some kind of automated system to check coverage of contracts on the code. Any ideas or pointers on a standardized and parseable syntax for the comments to write the contracts in? What about stealing some of the syntax from a language with contracts like D, Ada, or even the C++ proposal for contracts?
@georgehfairbanks
@georgehfairbanks Год назад
In my experience, the big improvement for a team is going from treating methods/procedures/functions as a convenient named group of code to treating them as little bits of machinery that are expected to work in a certain way (ie according to the contract). A team that thinks this way can use the tools they have to manage the contracts -- things like their own brains and simple unit tests. It's not that tooling is a bad idea -- far from it -- it's that lack of tooling shouldn't discourage a team from trying contracts. And adding machine-checkable contracts is yet another hurdle to convince your co-workers about.
@samuellotz8304
@samuellotz8304 Год назад
@@georgehfairbanks I just worry without some "contract" (haha) that's enforcing it to some degree I'll just get soft buy in no one will actually do them without constant work of the adopters going over everything. I.e. the same problems with code comments in general since they are out of date and with no real quality checks.
@georgehfairbanks
@georgehfairbanks Год назад
Try Keeling's essay on ADR adoption. www.agilealliance.org/resources/experience-reports/distribute-design-authority-with-architecture-decision-records/. The critical thing is to get the team thinking about design, thinking of themselves as designers. No static analysis can force them to write good contracts.
Далее
Thinking fast with contracts
12:50
Просмотров 828
Theory Building: Aligning Code with Thoughts
46:02
Просмотров 1 тыс.
Contracts separate interface from implementation
11:21
Просмотров 1,2 тыс.
Postgres just got even faster
26:42
Просмотров 23 тыс.
Contracts: Bridging Logical and Procedural Thinking
20:04
Contracts simplify tests
11:43
Просмотров 1,2 тыс.
Contracts and functional programming
17:18
Просмотров 1,3 тыс.
A Timeline of Architecture Abstractions
34:32