2019, hangzhou

The front end, two years missing six months.

A job change, a couple of new friends.

I’m lazier, but for the past year, I’ve more or less had to give up.

No more learning new frameworks/tools

It’s been 9102 years. Kids make choices. Adults are all in.

Perhaps it was too hasty to go before, the light remember to take photos of the circle of friends to show off, too late to enjoy the beautiful scenery.

It’s time to revisit it.

Start holding some principles.

Principles, styles, in the form of code. What to do, what not to do, how to do it, how to do it better. Start from the beginning, go through the whole picture, and calibrate with continuous feedback.

Every line of code has a reason to exist.

You start messing with names

Get confused by business development

Writing good business code is harder than you think

Start thinking about the possibilities of writing good business code

Readability > Performance

Start thinking about things other than right and wrong, what is better, write right => write well => better.

Start thinking about code quality control

Start believing in methodology and using it to quantify your learning progress.

As well as

  • Start to understand the importance of the basics, and start from scratch to learn computer basics.
  • Start learning English again

reading

Share some of the most viewed articles in the last six months

  • A timeline of front end entertainment events
  • The Wisdom of programming
  • How can software complexity be reduced?
  • The essential complexity and meta-linguistic abstractions of programs
  • That shit about bad code/up/middle/down

Seems to be a picture, the number of words is a little, I will extract some words pretend to be a lot of words :).


According to Ousterhout, the biggest goal of software design is to reduce complexity. Complexity is anything that makes software difficult to understand and modify.

There are two main sources of complexity: code ambiguity and interdependence.

  • Obfuscated means that important information in the code is not visible.
  • Dependency refers to the fact that the code of one module cannot be understood without the combination of other modules.

The danger of complexity is that it increases. You make a bad decision, and the rest of the code builds on that mistake, and the software gets more and more complex.” Let’s build the product first and improve it later. “You can’t do that.

2. Isolation of complexity

The basic way to reduce complexity is to isolate it.” “If you can isolate complexity in one module and not interact with other modules, you can eliminate complexity.”

When changing software design, the less code you change, the less complexity you have. Try to encapsulate complexity in modules and not expose it. If multiple modules are coupled, combine them into one.

How can software complexity be reduced?


Logic is the definition of the problem, for example, for sorting problems, logic is “what is ordered, what is greater than, what is less than, what is equal”? Control is how to properly arrange time and space resources to implement logic. Logic is the soul of the program, it defines the essence of the program; Control serves logic, is nonessential, can change, just as there are dozens of different methods of sorting, time and space efficiency varies, can be adopted according to the needs of different implementation.

The complexity of program includes two aspects: essential complexity and non-essential complexity. To use the terminology here, the essential complexity of a program is logic, and the non-essential complexity is control. Logic sets the floor for code complexity, which means that no matter how much code is optimized, Office programs will always be more complex than Notepad programs because the logic is more complex. All any language or technology can do to make code simple and elegant is approximate this essential complexity, but not beyond the theoretical limit.

Essential complexity and meta-linguistic abstractions of programs


Write in the last

Looking back on 2017, time can change a lot of 2017 front-end work summary, personal trip to step on the pit, front-end learners miscellaneous

I don’t have much expectation for 2019, just hope to meet a better version of myself.