[Pragmatic Programmer] Chapter 3. basic tools

· Tech· CS
CS
DAY 6 Today’s reading range: Chapter 3. basic tools

? What do you want to remember from the book?


Store knowledge in plain text. → lowest common denominator

  • Encrypt your password. If you do not want users to change configuration parameters, include a secure hash of all parameter values ​​as checksums in the file.
  • 1) Imagine a situation where there is only a minimal environment for parsing and recovery after the original application is destroyed. 2) Almost all tools are compatible with plain text. 3) Analysis and testing are simple.

Use the power of the command shell.

  • The functions of a GUI environment are generally limited by the designer's intentions.
  • This is good to use when you want to quickly combine commands.
  • Using Unix Tools on Windows

Use one editor well.

  • Make sure the editor you choose is available on all platforms you use. emacs, vi, CRiSP, Brief, etc. are available on multiple platforms and often support both GUI and text screen versions.
  • Expand it to do more than just what it already does.

Always use a source code management system.

  • A source code management system, or more broadly a configuration management system, remembers all changes to source code or documentation.
  • Product builds are automated and repeatable.

Don't panic when debugging.

  • It's really important to take a step back and really think about what makes you think there might be a bug and what might be causing the symptoms.
  • Before looking into the bug, make sure you are working with code that compiled cleanly and without warnings.
  • 1) Make the bug visible. DDD Debugger 2) Tracing statements can be added to descend from the call tree. 3) You must explicitly talk about issues that will naturally pass over when you talk to someone. The story of the rubber duck.
  • When you encounter a surprising bug, you need to go beyond simply fixing it and consider why this failure wasn't discovered sooner. Consider whether you need to modify unit tests or other tests to catch bugs early.

Learn a text processing language.

  • Let's create a sample application using a text processing language.

Write code that writes code.

  • Reduces manual code generator typing. You can write basic text that must be entered when creating a new source file. Performs one-off conversions between programming languages. Reference tables and other resources that are expensive to calculate at runtime are created in advance.
  • Active code generator is essential to follow the DRY principle. When different programming languages ​​are used in an application, this information can be parsed from the source files of one language and used to generate code for the other language.

? How do you feel about what you read today?


Through the last mission, I read other people's TILs and practiced writing them in more detail, so I think they were more memorable.

I don't think I've given much thought to the importance of the editor. I think the reason is that I only used it when making settings in a Linux server environment and haven't used it much. In my case, I use the vi editor, and I thought I would need to learn it in the future to increase productivity.

Developing application samples using text processing languages ​​and active code generators was something I had never tried before, so after learning about it, I felt like I wanted to create at least a small program!

❓ Anything you have questions about or something you don’t understand


  • I didn't understand how to use Unix tools on Windows before. I wrote this because I thought it was something worth trying.

http://www.kyobobook.co.kr/product/detailViewKor.laf?mallGb=KOR&ejkGb=KOR&barcode=9788966261031

Comments

No comments yet. Be the first!

    164 posts in 테크

    15 / 164