Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
tom-sapletta-com authored Dec 11, 2023
1 parent b869fce commit 634258c
Showing 1 changed file with 16 additions and 5 deletions.
21 changes: 16 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,14 @@ This method allows you to create an autonomous system that, starting from only t



## Definition


**Definition**:
Log-Driven Development (LDD) is a software development approach where the design and construction of software are primarily informed and driven by the analysis of system logs. In this approach, logs are used as the fundamental source of truth for determining how a system should behave in both routine and exceptional circumstances. Developers use logs to abstract system requirements and functionality, write targeted tests, and then develop system features iteratively while respecting the guidance provided by the logs.


## Specification


### Log Analysis
Understanding Expected and Unexpected Behaviors:

Expand Down Expand Up @@ -62,12 +63,22 @@ Iterative Development:
- Automatically build and test the system regularly — or even after every change — to reveal integration errors as soon as possible.
- Keep logs for ongoing analysis to feed back into the development cycle for continuous improvement.

Using such an approach can lead to a thorough understanding of the system and its interactions, as well as how to handle various types of data and errors.
However, care must be taken when using logs as the sole source of truth; logs can sometimes be incomplete or misrepresentative.
Thus, LDD should be complemented by additional information and insights from other system documentation and stakeholder input where possible.

### Summary

in this production methodology, there is no documentation, you just observe what comes out in the logs and create code that will react accordingly to the input data, and these logs must contain properly formatted input and output data
we use dialoget decorator to describe a function in the form of a sentence that reflects how this function works
+ [dialoget/python: python.dialoget.com is a test framework for multilanguage source code, based on decorators](https://github.com/dialoget/python)

with one decorator you get 3 benefits:
1. Creating a human/AI friendly csv log
2. Creating a schema for testing
3. Detecting when you use a similar sentence structure in another app and signaling reuse


Using such an approach can lead to a thorough understanding of the system and its interactions, as well as how to handle various types of data and errors.
However, care must be taken when using logs as the sole source of truth; logs can sometimes be incomplete or misrepresentative.
Thus, LDD should be complemented by additional information and insights from other system documentation and stakeholder input where possible.



Expand Down

0 comments on commit 634258c

Please sign in to comment.