Home Backend Development PHP Tutorial The legacy of the programmer's father—The Ten Commandments of Programming

The legacy of the programmer's father—The Ten Commandments of Programming

Jul 25, 2016 am 08:47 AM

My father passed away two weeks after I started talking about programming.
I was 22 years old at that time, a senior student who had just completed the graduation project of Bachelor of Aesthetics. And my father is 62 years old, older than most fathers of my age. He had already started working on programming languages ​​at Tennessee Tech University in the 1960s, writing FORTRAN on punch cards. I have to admit that my father is very knowledgeable and knowledgeable.
When I had close contact with programming for the first time, it was like fireworks, instantly dazzling my life. It feels magical and powerful to me, and in many ways more creative and practical than visual design.
When I was home for the holidays, my dad shared his Ten Commandments of Programming. He printed a copy and discussed it with me one by one. It was one of the few discussions about programming that my father and I had before he suddenly left me. Perhaps for this reason, the "Ten Commandments of Programming" is deeply engraved in my mind. Together with my father's voice and appearance that day, it has become my best memory, and it will never change.
Inspired by the book "The Psychology of Computer Programming" first published in 1971, here are the Ten Commandments of Programming summarized by my father:
1. Understand and admit that you will make mistakes.
The key to this is to find out early before publishing. Fortunately, unless you're developing rocket guidance software at the Jet Propulsion Laboratory, errors are rarely fatal. Therefore, after making mistakes, we can learn from them, maintain a positive attitude, and continue to move forward and make progress.
2. No one is a saint, and no one can make mistakes.
The purpose of reviewing code is to find problems. However, if there are any omissions, the blame cannot be placed on a certain person and directed against him.
3. There are people outside the world, and there is a sky outside the world.
There must be a teacher among the three of us. Asking a good teacher will benefit you a lot. You must learn to listen to the opinions and suggestions of others, especially when you think it is unnecessary, and you must accept the advice of others with a humble attitude and a broad mind.
4. Think twice when refactoring code.
There is an essential difference between "fixing code" and "refactoring code". After careful consideration, if you still want to pursue changes in the framework style during code review instead of improving along the original path, then refactor.
5. Respect others, be patient and courteous to everyone.
Non-technical people who often interact with developers often feel that programmers are arrogant, bad-tempered and bad-tempered. Don't let your anger and impatience make this image grow in their minds.
6. The only constant in the world is change.
Accept changes with an open mind and a smile. Treat every change in requirements, platforms, and tools as a new challenge rather than an annoyance to resist.
7.True authority comes from knowledge, not position.
Knowledge creates authority, and authority brings respect - so if you want to gain the respect of others in the computer field, go learn.
8. Fight for what you believe in, and then accept failure gracefully.
Sometimes our ideas are rejected. Even if we later find out we were right, we should not harbor resentment or say something like, “I told you this would happen a long time ago and I still don’t believe it.” Don't let this create a gap between the team, don't worry about this little thing and complain often.
9. Don’t be the “programmer in the corner”.
Don’t be that person who hides in an inconspicuous corner of the office and only comes out when ordering food. Programmers who hide in corners are often short-sighted, isolated, and out of touch with everyone. They will be invisible and not express any opinions. Therefore, participate in everyone's discussions and become a coordinating member of the office group.
10. You can criticize the code, but you can't attack personally.
You should be friendly to every programmer, but be sharp and to the point when pointing out problems. Our criticism should be as positive as possible and aimed at improving the code, not without purpose. At the same time, local standards, procedural specifications, improved performance, etc. should also be considered.
I still have this copy of "The Ten Commandments of Programming". As mentioned above, I grew into an excellent programmer. Sometimes when I encounter difficulties, I can't help but think, if my father was still alive, what advice would he give me? Although this has become a delusion, I believe that my dear father will be proud of me for always remembering these ten commandments.
Receive LAMP Brothers original PHP tutorial CD/"Essential PHP in detail" for free. For details, please contact the official website customer service: http://www.lampbrother.net



Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How does session hijacking work and how can you mitigate it in PHP? How does session hijacking work and how can you mitigate it in PHP? Apr 06, 2025 am 12:02 AM

Session hijacking can be achieved through the following steps: 1. Obtain the session ID, 2. Use the session ID, 3. Keep the session active. The methods to prevent session hijacking in PHP include: 1. Use the session_regenerate_id() function to regenerate the session ID, 2. Store session data through the database, 3. Ensure that all session data is transmitted through HTTPS.

Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Apr 05, 2025 am 12:04 AM

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

Describe the SOLID principles and how they apply to PHP development. Describe the SOLID principles and how they apply to PHP development. Apr 03, 2025 am 12:04 AM

The application of SOLID principle in PHP development includes: 1. Single responsibility principle (SRP): Each class is responsible for only one function. 2. Open and close principle (OCP): Changes are achieved through extension rather than modification. 3. Lisch's Substitution Principle (LSP): Subclasses can replace base classes without affecting program accuracy. 4. Interface isolation principle (ISP): Use fine-grained interfaces to avoid dependencies and unused methods. 5. Dependency inversion principle (DIP): High and low-level modules rely on abstraction and are implemented through dependency injection.

How to debug CLI mode in PHPStorm? How to debug CLI mode in PHPStorm? Apr 01, 2025 pm 02:57 PM

How to debug CLI mode in PHPStorm? When developing with PHPStorm, sometimes we need to debug PHP in command line interface (CLI) mode...

How to automatically set permissions of unixsocket after system restart? How to automatically set permissions of unixsocket after system restart? Mar 31, 2025 pm 11:54 PM

How to automatically set the permissions of unixsocket after the system restarts. Every time the system restarts, we need to execute the following command to modify the permissions of unixsocket: sudo...

Explain late static binding in PHP (static::). Explain late static binding in PHP (static::). Apr 03, 2025 am 12:04 AM

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

How to send a POST request containing JSON data using PHP's cURL library? How to send a POST request containing JSON data using PHP's cURL library? Apr 01, 2025 pm 03:12 PM

Sending JSON data using PHP's cURL library In PHP development, it is often necessary to interact with external APIs. One of the common ways is to use cURL library to send POST�...

See all articles