Я нарешті з'ясував, як надійно змусити інженерів від початкового/середнього рівня в Solidity читати великі кодові бази без зайвих зусиль. Математика є найбільшим блокуючим фактором. Скажу просто — якщо у вас немає офіційного навчання STEM і ви працюєте інженером смарт-контрактів, візьміть на себе зобов'язання @_MathAcademy_ принаймні 6 місяців. Якщо ви не можете собі цього дозволити, з любові до Сатоші, будь ласка, принаймні пройдіть безкоштовний курс алгебри в Інтернеті та попросіть Грока виступити екзаменатором для перевірки ваших знань. Рівень ваших математичних знань обмежує рівень складності, з яким ви можете впоратися. DeFi – це фінанси. Фінанси – це математика. Якщо у вас слабка математика, як ви очікуєте бути хорошим у DeFi? Якщо ви не можете міркувати математично, особливо швидко, то деякі знання замкнені від вас. Приклад 1: маючи справу з «дробами» в Solidity, багато інженерів губляться, тому що не знають, як помножити два дроби разом, а потім нормалізувати знаменник. Коли вони бачать, що код це робить, вони не можуть його інтерпретувати. Приклад 2: розробники не можуть обчислити складені відсотки і тому не знають розумних меж щодо того, наскільки великим може бути ціле число Приклад 3: розробники не знають, що таке логарифм, тому вони не можуть швидко передбачити, наскільки великим цілим числом їм потрібно зберігати певне значення. Тоді розміри uint у кодовій базі здаються абсолютно випадковими. Приклад 4: через обмежену алгебру деякі розробники не можуть побачити, як формула в whitepaper насправді збігається (або має незначні варіації) з тією, що в коді. У підсумку вони намагаються переробити поведінку з нуля і повністю губляться. Приклад 5: розробники губляться, дивлячись на математику, яка була алгебраїчно переставлена, щоб уникнути тимчасового недостатнього потоку — або не знають, що це взагалі концепція. Я не ділюся ресурсами, які не використовував для впливу. ...