Telos Labs转发了
At Telos Labs we often have the privilege of creating new digital products from the first design and line of code: `?????????? ?????? ??????????????` promises a new and exciting journey. Over time, we've honed our engineering and improved our software patterns. But we also sometimes dive into large and complex code bases, where an understanding of the business domain and existing code is essential. For example, adding notifications in a new app might be simple, but in an existing one, overlapping concepts like to-dos or comments can complicate the design process. There are two main conclusions we've learned: 1. ?????? ???????????????? ???????????? ?????????????? ??????????????:?It is critically important to discuss options and vet them with experts who know the app. A tech design doc is a very helpful way of producing this shared understanding and aligning on the approach before a Pull Request. In discussing a tech approach before implementation, you help train the team on the concepts, jointly reflect on how to improve the software design, and avoid Pull Request rejections caused by overlooked alternatives or critical drawbacks. 2. ???????????? ???? ????????????-???????????? ????????????: Most software teams are rightly focused on delivering functionality. This sometimes leads to undervaluing efforts to align the application design with the business domain. Yet making sure your software appropriately maps the business domain is a key enabler to both good quality and good velocity. Discussing names and entity relationships may feel unproductive, and yet it is essential. Establishing a team's commitment to this practice pays off. Writing software is ?????????????? ???? ?? ???????? ??????????. It is a human process that requires clear concepts and consistent names shared across the team. We do ourselves a huge favor by ensuring that the software we write aligns closely with our business domain.