talk about NEAR blockchain development maintain experience
Electric Capital Developer Report(2021) - deserve to look at it
architecture.md: provide shortcut of finding where to change code when you want to add new function or bug fix; Keep it short and make it with minimal posible to be outdated when future system upgrade
其作用一是帮助开发者(尤其是外部开发者)尽快知道到哪里去修改code,当要添加新功能或者bugfix时; 二是该文件内容尽可能简明扼要,抓住重点,这样不会因为日后系统升级,让该文档内容变得易于过时
Code Map: describe module function(but not too detailed); describe interface or constraint with other modules (architecture invariants)
Project Compile Time: first glance, it's not a big issue; but it's a multiplier for everything basic.
if your project's compile time already long, you will take more time to solve it(project will be changed).
the ONLY solution is: always care for compile time, eg. every PR will invoke CI, and diff compile time or periodiccal check, eg per-month.
cargo build --timings
Cargo.lock -- check if we actually need these dependencies
Test Driven: the issues list as below:
one implementation triggers many test cases modification
writing test case takes more effort than function itself
our tests should always care for function behavior than code
Data Driven Test (i want to know more about how it is, let's see more in NEAR)
Large Scale Rust Project Maintaince
talk about NEAR blockchain development maintain experience
Electric Capital Developer Report(2021) - deserve to look at it
architecture.md: provide shortcut of finding where to change code when you want to add new function or bug fix; Keep it short and make it with minimal posible to be outdated when future system upgrade 其作用一是帮助开发者(尤其是外部开发者)尽快知道到哪里去修改code,当要添加新功能或者bugfix时; 二是该文件内容尽可能简明扼要,抓住重点,这样不会因为日后系统升级,让该文档内容变得易于过时
Code Map: describe module function(but not too detailed); describe interface or constraint with other modules (architecture invariants)
Project Compile Time: first glance, it's not a big issue; but it's a multiplier for everything basic. if your project's compile time already long, you will take more time to solve it(project will be changed). the ONLY solution is: always care for compile time, eg. every PR will invoke CI, and diff compile time or periodiccal check, eg per-month.
Test Driven: the issues list as below:
NEAR Ceritified Developer 每月课程
Rust (std lib) API validation and verification
skip