Experience sharing on project development by leveraging strengths and weaknesses

Experience sharing on project development by leveraging strengths and weaknesses
[[228468]]

The operation of a project should be orderly rather than chaotic. Details are determined by many things, such as the font color in the UI. The RGB value may be only a parameter of R that differs by 1, which is difficult to identify with the naked eye. If you use professional tools to test, it will be exposed. Ensuring the consistency of the overall color tone of the entire project is something that should be considered globally at the beginning of the project!

First of all, the project goes from demand research to contract signing, and then the UI design interface is given to the developer. The first thing we do when we get the interface is not to start drawing the interface. We can only draw it where we want. This way we will lose control of the project. The first thing to do is to look at the demand document and RP first, and stream the entire process. This is not a waste of time, but a top priority. Only by being familiar with the business model and process operation of the entire project can we take the initiative in the future, rather than following the nose of the project or UI design. If you have time, it is also necessary to use a mind map to organize your understanding of the needs, so that you know what the entire project is doing, rather than developing for the sake of development.

After thoroughly understanding the requirements, the first thing we do is still not to build the interface, but to think about the overall planning of the project. We don't talk about the idea of ​​architecture, so what should we plan?

  • ***: Overall engineering design pattern , MVC, MVVM, MVP, Rout...
  • Second: Overall engineering module division: basic layer, network layer, hardware layer, common layer, management layer, logic layer, resource layer, configuration layer...
  • Third: Think about which third-party libraries will be used in the entire project , and finally use cocopods to import
  • Fourth: Consider which parts of the entire project interface can be shared , which Views can be used in many locations, which controls need to be encapsulated, which ones need to be animated, etc.
  • Fifth: Summarize the colors used in the entire project , which are generally no more than five. Use macro files to manage color configuration files. At the same time, set the commonly used color values ​​of the project in the Xode common color management panel. Then use XIB to directly use the set colors, which will not cause color confusion. iOS11 has added a color management in Assets.xcassets, which is very convenient to use, and can realize global color change, and summarize commonly used font sizes, etc.
  • Sixth: Build a good project framework and establish a code management warehouse
  • Seventh: Confirm the interface fields with the background . If the background is standardized, you can directly develop according to the interface documents given by the background, and draw the UI and logic simultaneously!

How to manage one or more projects?

  • ***: Slicing principle , continuously decompose and refine project functions and formulate a plan schedule.
  • Second: the principle of main process first , which is the core function of a project. The core here is actually the function that customers care about most. This function is used frequently and most of the business flows are in this function.
  • Third: Follow the principle of static control . It is inevitable to make changes in project requirements. Frequent changes in requirements directly reflect the project personnel's ability to control and plan requirements. When faced with changes in requirements, first calm down and analyze whether the requirement is reasonable, whether there is a better solution, how long it will take to turn around from upstream to downstream if the requirement is changed, where the risks are, etc.
  • Fourth: The principle of retention . For a cycle of the project, there must be real-time documentation records. Changes in requirements must be made by signing a change contract, rather than changing them at will. Otherwise, the product will be completely unrecognizable and untraceable. Many programmers do not want to make a good product, but they have a heart to polish the product but are tortured by the changing requirements. There are even programmers who curse the customers and the company in the code comments. In fact, they do it because they have no other way to vent.
  • Fifth: The principle of controlling the source . As the saying goes, water flows downwards, from the Department of Commerce - Project Department - Design Department - Development Department - Testing Department, they are linked together. The source begins with demand. One move will affect the whole body. It is impossible not to move. A complete project cannot be kept still. Movement must be principled and limited. Demand is a bottomless pit and the scope must be limited.
  • Sixth: Communication is the most important. No matter which link, more coordination and communication are needed, because the needs may change in the process of transmission. For example, after a sentence is passed to 10 people, the meaning may be different from the original one or even deviate from the original meaning. Strictly speaking, communication is the most important link!

Demands vary in importance, and projects vary in size. Behind every project there is a business model. Whether it is original or imitation, you can learn from it and learn a way of thinking or an industry's thinking. So don't do projects just for the sake of doing them, and don't limit yourself to a certain project just for the sake of doing them. Just like programming languages, don't discuss whether PHP is the best language in the world, or whether life is short and I use Python. With programming thinking, different programming languages ​​only have different syntaxes. Being limited to a certain language is a limitation of your own thinking. They must have their own advantages, or solve certain specific problems, and learning from each other's strengths is the best strategy!

<<:  No need for Root, you can also use the powerful Xposed framework: VirtualXposed

>>:  Why should programmers never rewrite code?

Recommend

Analysis of viral fan-attracting strategies in fission activities

When doing private domain business, how to acquir...

Android 6.1 first revealed: two major features are coming!

Previously, Google executives revealed that they ...

[PHP Kernel Exploration] Hash Table in PHP

In the PHP kernel, one of the most important data...

Teach you how to write a perfect product promotion plan in 6 steps!

I have no idea how to promote a new product every...

iPhone X's Face ID has a bug, Apple's internal document reveals the truth

Face ID is one of the biggest highlights of iPhon...

Four channels and strategies for traffic acquisition

In the Internet age, whether it is e-commerce or ...

These things that we think are signs of good health are actually wrong!

Many people judge their health status based on th...

Practical Guide: How to promote second-tier e-commerce?

Today I will share with you a practical guide for...

Traffic 2.0 era: How do operators manage data traffic?

1. China Telecom’s “Flow Treasure” and China Unic...

iOS 15.4 is updated again, and the unlocking function with a mask is more useful

iOS15.4 Beta2 Early this morning, Apple quickly l...