• 1 Post
  • 56 Comments
Joined 1 year ago
cake
Cake day: June 16th, 2023

help-circle

  • This might be contrary to some, but i recommend diagramming! Can be anything from paper doodles to d2 to full blown uml diagrams. They help you stay focused, and aware of the program’s data dependencies.

    Regarding code practices - read code. If you use a library for something, dive into its code. This can be beneficial in many ways - you observe the style they used, you understand better how the library works (documentation rarely contains enough detail), and you see how libraries are structured, which is often lacking in newbies.

    Learn your language’s idioms. They can reduce complexity, and are usually more readable to people with experience in the given language.

    Finally, don’t sweat it too much. The more you write, the better you’ll become, so just do it. New problems lead to new insights.





  • I started doing exactly this. Write a bunch of functions, that may end up in different systems, on different machines, even. This allows you to define the interfaces, figure out data dependencies, and so on.

    The code may be runnable, just printing out some statements. Then I copy blocks of it to the place where it will belong.

    It’s more of a thinking tool, than “actual code”.













  • One suggestion - if you get 10 plain black t-shirts, then implement your style!

    I am a dev who was focused on design and ux early on (this has changed as the needs of my work changed).

    @abhideckert’s suggestion on how to analyze the needs is great. Now on to the implementation.

    Similarly to development, you start out with some requirements - you need to show an input box, a history of inputs, and a sidebar with categories. You work out the layout (with wireframes, pencil drawings, etc.). Then comes visual style, which I guess is the thing you struggle with?

    In both layout and visual style, you need to apply design principles, but ultimately the goal is to guide the visitor’s eye to the right places. This is where rhythm, repetition and contrast play a role. Basically highlight important elements, make the order of elements logical and not boring, avoid large empty areas but leave sufficient “breathing room” between elements, etc.

    For visual style, you should make your own “style guide” that you apply to all personal projects. You can vary it a bit for each, if you are worried about them looking the same. Make that into a css file with a dummy html page to test. Add an input box, a textarea, select, unordered lists, etc. and style all of them to your liking. This guide will capture a lot of visual ideas, colors, spacing, which you can paste straight into your project. Do not sweat too much about stealing other people’s ideas - it’s an intrinsic property of art, and anyway it will probably not look 100% the same even if you copy it.

    Edit: PS: spend some time just looking at the design and thinking.