hello

  • 2 Posts
  • 62 Comments
Joined 1 year ago
cake
Cake day: July 1st, 2023

help-circle





  • i read through the code, and i have some tips, which you may find helpful (or not):

    • argument parsing: if --color is not the first argument, it will try to open a file named --color, which i assume is unintended. i would suggest checking out the clap crate to easily parse args
    • i’m quite sure why you used ‘clusters’ instead of resizing the image to the terminal width? if it is purely as a programming exercise, or for performance reasons, then that’s great! but otherwise, calling image.resize() is easier
    • .len() on a string returns length in bytes, not characters, so could break with non-ascii text. in the context of this program, the text will always be ascii, so it is of course not a problem, but it’s worth to keep in mind. to get character length, use .chars().count()
    • in my testing, the width of the image is always affected by the width of the terminal, always being less than the maximum possible width, causing the image to be stretched vertically. i’m not sure why this is happening
    • in get_brightness_of_cluster, pushing to a Vec and then calling .sum() can be replaced with a loop which increments a mutable u32 variable. this is a nitpick, but it can avoid unnecessary memory allocation

    check out this example. sorry if this comes off as rude or a nitpick, i’m just trying to provide some advice :)