mikecargal

mikecargal

Hands-on Rust: Presentation order in map_builder section

Title: Hands-On Rust (??? ePub)

Just finished the map_builder section. Just a suggestion here (others may disagree). This felt like the order was more from the perspective of someone who “just knew” from the start what all functionality he would need (perhaps, from having implemented it already?? :slight_smile: ).

It means that you’re putting a lot of pieces out there as a reader without really understanding why. As a developer, I think it’s probably more common that you build out the high level structure, determining what functionality you’ll need as you go. And then drill down fleshing out the functionality.

Suggested order:

  • build
  • build_random_rooms
  • build_corridors
  • apply_horizontal_tunnel && apply_vertical_tunnel

This way, as you build out functionality, you understand it’s context and aren’t waiting until the end for things to all come together. (It’s not quite so problematic to defer hooking things into main until the end.)

Marked As Solved

herbert

herbert

Author of Hands-on Rust

Thank you! I’ve put this into the book’s issue tracker. I’ll try and squeeze it into beta 2, but it may hit beta 3 - wrap-up on beta 2 has begun, I’m not 100% sure where the “freeze” mark is.

Also Liked

mikecargal

mikecargal

I suspect, it’s more of a globally applicable suggestion. I won’t bother to post similar over and over again for other suggestions.

herbert

herbert

Author of Hands-on Rust

I will keep an eye out for it. It shouldn’t be too prevalent, I tried to keep things in a sensible order when possible.

Where Next?

Popular Pragmatic Bookshelf topics Top

abtin
page 20: … protoc command… I had to additionally run the following go get commands in order to be able to compile protobuf code using go...
New
jimschubert
In Chapter 3, the source for index introduces Config on page 31, followed by more code including tests; Config isn’t introduced until pag...
New
yulkin
your book suggests to use Image.toByteData() to convert image to bytes, however I get the following error: "the getter ‘toByteData’ isn’t...
New
mikecargal
Title: Hands-On Rust (Chap 8 (Adding a Heads Up Display) It looks like ​.with_simple_console_no_bg​(SCREEN_WIDTH*2, SCREEN_HEIGHT*2...
New
jeremyhuiskamp
Title: Web Development with Clojure, Third Edition, vB17.0 (p9) The create table guestbook syntax suggested doesn’t seem to be accepted ...
New
jskubick
I’m running Android Studio “Arctic Fox” 2020.3.1 Patch 2, and I’m embarrassed to admit that I only made it to page 8 before running into ...
New
jskubick
I found an issue in Chapter 7 regarding android:backgroundTint vs app:backgroundTint. How to replicate: load chapter-7 from zipfile i...
New
brunogirin
When trying to run tox in parallel as explained on page 151, I got the following error: tox: error: argument -p/–parallel: expected one...
New
jwandekoken
Book: Programming Phoenix LiveView, page 142 (157/378), file lib/pento_web/live/product_live/form_component.ex, in the function below: d...
New
bjnord
Hello @herbert ! Trying to get the very first “Hello, Bracket Terminal!" example to run (p. 53). I develop on an Amazon EC2 instance runn...
New

Other popular topics Top

PragmaticBookshelf
Write Elixir tests that you can be proud of. Dive into Elixir’s test philosophy and gain mastery over the terminology and concepts that u...
New
Exadra37
I am thinking in building or buy a desktop computer for programing, both professionally and on my free time, and my choice of OS is Linux...
New
brentjanderson
Bought the Moonlander mechanical keyboard. Cherry Brown MX switches. Arms and wrists have been hurting enough that it’s time I did someth...
New
New
AstonJ
We have a thread about the keyboards we have, but what about nice keyboards we come across that we want? If you have seen any that look n...
New
PragmaticBookshelf
Create efficient, elegant software tests in pytest, Python's most powerful testing framework. Brian Okken @brianokken Edited by Kat...
New
AstonJ
Biggest jackpot ever apparently! :upside_down_face: I don’t (usually) gamble/play the lottery, but working on a program to predict the...
New
DevotionGeo
I have always used antique keyboards like Cherry MX 1800 or Cherry MX 8100 and almost always have modified the switches in some way, like...
New
hilfordjames
There appears to have been an update that has changed the terminology for what has previously been known as the Taskbar Overflow - this h...
New
NewsBot
Node.js v22.14.0 has been released. Link: Release 2025-02-11, Version 22.14.0 'Jod' (LTS), @aduh95 · nodejs/node · GitHub
New

Sub Categories: