One liners, quick rant...


 
Thread Tools Search this Thread
The Lounge What is on Your Mind? One liners, quick rant...
# 1  
Old 07-16-2016
One liners, quick rant...

Hi fellas and fella-esses...

There are numerous threads on here where people ask for, and often expect, solutions to difficult problems solved using _one_liners_.

Why do they insist as such when it is virtually no different in execution time with well thought out indented code?

Is it me just being picky?

Your thoughts...
This User Gave Thanks to wisecracker For This Post:
# 2  
Old 07-16-2016
One liners are "cool". In a perjorative sense. They cause unnecessary maintenance and development problems because of the difficulty in mentally parsing and debugging them. It is code obfuscation. It is the same thing as the code obfuscation contest for C code - except that contest is meant to be fun and ridiculous. 'one-liners' are not.

I've seen similar sentiments expressed here by a lot of folks.
# 3  
Old 07-16-2016
I think many people are just into superficial things; and trying to be "cool" writing one liners is one of those mostly useless superficial things many people are into, I guess.
# 4  
Old 07-18-2016
If my memory serves me right the SAP application offers you a function that lets you execute a single line of code and I guess there are other applications that offer you a similar function. I understand the design decission to keep the code within that application and not to use a script, especially when clusters and multiple applicationservers are involved.
# 5  
Old 07-18-2016
I think one-liners tend to have a bad rep for the wrong reasons.

One-liners are typically used for programming on the command line, where a single line is your real estate. They are very useful as one-off, terse and personal small scripts for an ad-hoc parsing result, for example for general information, problem determination or security forensics. Developing such a small script is usually a lot quicker than editing a file, exiting, running it, re-editing, etc... Typically sysadmins use one-liners a lot for this purpose.

Once a one liner is working and if it proves to be useful for multiple occasions, then it can be turned into a script in a file and then vertical real estate can be used and short names can be replaced by mnemonic names and comments can be added for maintainability and it can be made fool-proof with error conditions. In a script file one-liners are to be a avoided.

These are just two different types of application.

If a one-liner is posted here, it shows the principle or mechanism that can be used to tackle a problem or create an application. The user is free to use it and turn it into a fully maintainable script if he so chooses, or execute it as such on the command line and get his/her result..

Last edited by Scrutinizer; 07-18-2016 at 06:31 AM..
This User Gave Thanks to Scrutinizer For This Post:
# 6  
Old 07-18-2016
I've learned the hard way that compressing my code to the extreme just confuses myself when I need to change it. Do I really want 2 hours of extricating myself for a few extra lines of clear code that cost no noticeable time.

There is a case for a one-liner if you can get a tool such as awk to do several things at once rather than calling a loop with multiple greps or cuts being called within it. For me it comes down to using it for processing efficiency. Even if I can make my code fit into fewer blocks on disk, it's just not worth it. If I do, then it gets an explicit comment, often with example code it is logically replacing. If I can adjust it in future in a longer method, then conversion would be simpler if I get my requirements clearer first.

It's the same with debugging logs for batch programs - write lots of info to the log so that when there is a problem, the trace is there. Just make sure you clean up old logs after a short time to avoid running out of space. It's far better than trying to trace or reproduce an error, potentially altering your data for the worse on each attempt or having to put trace information in when an error occurs and you are bleary-eyed.



Robin
# 7  
Old 07-18-2016
Scrutinizer - sysadmins do put two or three commands together on the fly. I do. Pipe this command into this other command and then sort the output. That is essentially what the -exec predicate does for the find command.

Scripts coded as giant one-liners are out of bounds. Period. rbatte1 covers why really well.

I thought we were discussing the massive one-liners we see here a lot. We seem to want to define good and bad one-liners here. So let's say one-liners in scripts meant to be part of production should not be written as "multi-blobs" of piped commands.
Login or Register to Ask a Question

Previous Thread | Next Thread

4 More Discussions You Might Find Interesting

1. What is on Your Mind?

A rant...

Hi guys... (Apologies for any typos etc...) This is basically a rant. I have been doing kids level projects and writing code to suit since around 1982, for the uProfessor, for the Sinclair Spectrum and later for the QL, IBM-XT in MS-DOS and after that for a 386DX40 up to Windows 95, until I... (3 Replies)
Discussion started by: wisecracker
3 Replies

2. What is on Your Mind?

Those simple one liners

I wanted to say LOL and punch my face when I saw post#11 (where Don_Cragun even reduced the string manipulation with a simple regex) in the thread https://www.unix.com/shell-programming-scripting/220553-add-0-start-filename-2.html I mean, when things can be done with just a one liner, sometimes I... (6 Replies)
Discussion started by: ahamed101
6 Replies

3. Shell Programming and Scripting

awk - one liners

Guys, I have a requirement like this. A file has >5K records always. Separated by "|", it has 30 fields for each line. In some lines, I am getting an odd field. say, the 15th field is supposed to be 2 characters but comes in as >2. In this case, for resolving this I need to copy the value of... (6 Replies)
Discussion started by: PikK45
6 Replies

4. UNIX for Dummies Questions & Answers

Where can I rant?

First of all, apologies to the admins for not reading the rules totally and missing the bit about ranting off about other OSs. But that raises a question. Where do you go to have a good rant, to vent your disgust at various corporations and thier hideous behaviour? :confused: (2 Replies)
Discussion started by: u6ik
2 Replies
Login or Register to Ask a Question