justinmclean commented on code in PR #5525:
URL: https://github.com/apache/gravitino/pull/5525#discussion_r1837235935


##########
docs/cli.md:
##########
@@ -352,7 +352,11 @@ gcli column list --metalake metalake_demo --name 
catalog_postgres.hr.departments
 ```bash
 gcli table details --metalake metalake_demo --name 
catalog_postgres.hr.departments --audit
 ```
+#### Show tables distribution information
 
+```bash
+gcli table details --metalake metalake_demo --name 
catalog_postgres.hr.departments --distribution
+```

Review Comment:
   One of the basic tenets of Unix CLI design is that you expect the program in 
question to be used on input to other scripts, meaning that the output should 
be both human and machine-readable if possible. From the basics of Unix 
Philosophy - "Expect the output of every program to become the input to 
another, as yet unknown, program. Don't clutter output with extraneous 
information." Another is having the CLI only display what is asked of it (think 
of the `ls` command). Having the `table details` command output all of the 
information will make it more challenging to make it scriptable.
   
   A core principle of Unix CLI design is that commands should be both human 
and machine-readable, producing clean output that can easily be piped into 
other scripts. As the Basics of Unix Philosophy states:"Expect the output of 
every program to become the input to another, as yet unknown, program. Don't 
clutter output with extraneous information."
   
   Commands should display only what is explicitly requested, which makes them 
versatile and script-friendly. With `table details`, outputting all information 
by default would clutter the results, making it harder to parse and script. 
Using specific flags to control which details appear keeps the output clean, 
flexible, and future-proof, aligning with Unix’s design ethos.
   
   Consider a future scenario where new features add extra details to table 
details. If these are displayed automatically, it risks breaking existing 
scripts that rely on the current output format. While it does increase the 
number of flags, using specific flags to control displayed details avoids this 
problem, keeping the command backward-compatible.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to