Description, because “alt text” can’t show it well:

			{
				emit differentFiles (ckFile.absoluteFilePath(),
					otherFile.absoluteFilePath(),
					FileCompareWorker::FileComparisonParams{FileComparisonParams::FileNameMatch,
						(ckFile.size() > otherFile.size()) ? FileComparisonParams::File1IsLarger
							: FileComparisonParams::File2IsLarger});
			}

After Alignment

			{
				emit differentFiles (ckFile.absoluteFilePath(),
					otherFile.absoluteFilePath(),
					FileCompareWorker::FileComparisonParams{FileComparisonParams::FileNameMatch,
						(ckFile.size() > otherFile.size()) ? FileComparisonParams::File1IsLarger
														   : FileComparisonParams::File2IsLarger});
			}
  • bleistift2@sopuli.xyz
    link
    fedilink
    English
    arrow-up
    16
    ·
    7 days ago

    I find both horrifying.

    This is how I’d want to read it:

    			{
    				emit differentFiles(
    					ckFile.absoluteFilePath(),
    					otherFile.absoluteFilePath(),
    					FileCompareWorker::FileComparisonParams{
    						FileComparisonParams::FileNameMatch,
    						(ckFile.size() > otherFile.size())
    							? FileComparisonParams::File1IsLarger
    							: FileComparisonParams::File2IsLarger
    					}
    				);
    			}
    
    • ulterno@programming.devOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      edit-2
      6 days ago

      That looks nice and easy to understand.
      I would go one step further and according to my preferences:
      (starting from line5)

      FileCompareWorker::FileComparisonParams
      {
      	FileComparisonParams::FileNameMatch,
      	(ckFile.size() > otherFile.size())
      		? FileComparisonParams::File1IsLarger
      		: FileComparisonParams::File2IsLarger
      }
      

      Break before the curly as I do for most.

    • ulterno@programming.devOP
      link
      fedilink
      English
      arrow-up
      0
      ·
      7 days ago

      I am noone to say no to your preferences. and you can set your config that way.
      I want the “before” in my project.


      Also, consider the case where the thing after the : were longer and it would be using another line.

  • Lucien [he/him]@mander.xyz
    link
    fedilink
    arrow-up
    9
    arrow-down
    1
    ·
    7 days ago

    Like the other commented said, this isn’t random, but also I’d add that your first ternary option, the ?, should be on the next line; it would make the alignment make more sense to you then, and it would make the block more legible.

    • ulterno@programming.devOP
      link
      fedilink
      English
      arrow-up
      3
      ·
      edit-2
      7 days ago

      I think I’d rather go with the ? being on the same line as the ‘condition’ and the rest can go on the other line.

      Otherwise, I’d be looking one line downwards and then coming back up after realising that it is a (cond)?ex:ex operator.


      And I get that it’s not random, just that I asked for it at as many places as possible to not do alignment.
      And from what I can recall, I had managed to make stuff work with the older clang-formats…
      Or maybe not. Maybe this kind of code never went through it.

  • Eager Eagle@lemmy.world
    link
    fedilink
    English
    arrow-up
    6
    ·
    7 days ago

    is it my lack of go skills, or they’re both really awful to read? It takes me multiple seconds to match the first parenthesis opened and it seems the code could really use a refactoring, but both formatting options suck.

    • ulterno@programming.devOP
      link
      fedilink
      English
      arrow-up
      0
      ·
      6 days ago

      Honestly, I’d prefer all curly’s in a new line, indented according to the previous one and in some cases, even parentheses in new lines.

      But if I had a problem with that, I would just go ahead and break the line down (that’s a single statement, I consider it 1 line of code) into multiple, with the arguments put into variables.

  • Flipper@feddit.org
    link
    fedilink
    arrow-up
    9
    arrow-down
    3
    ·
    7 days ago

    You shouldn’t use tabs for alignment. It breaks for everyone with a different tab size.

    • mmddmm@lemm.ee
      link
      fedilink
      arrow-up
      9
      arrow-down
      1
      ·
      7 days ago

      You shouldn’t align code anyway.

      If it’s important to have stuff on the same column, make it an indentation level and add a line break where it starts.

    • ulterno@programming.devOP
      link
      fedilink
      English
      arrow-up
      5
      ·
      edit-2
      7 days ago
      1. I am using tabs for INDENTATION. I don’t want alignment.
      • I have tried my best to remove all alignment operations of clang-format
      1. What do you use tabs for?
  • ulterno@programming.devOP
    link
    fedilink
    English
    arrow-up
    1
    ·
    7 days ago

    BTW, I changed my code to avoid the formatting:

    {
    	if (ckFile.size() > otherFile.size())
    	{
    		emit differentFiles (ckFile.absoluteFilePath(),
    			otherFile.absoluteFilePath(),
    			FileCompareWorker::FileComparisonParams{
    				FileComparisonParams::FileNameMatch, FileComparisonParams::File1IsLarger});
    	}
    	else
    	{
    		emit differentFiles (ckFile.absoluteFilePath(),
    			otherFile.absoluteFilePath(),
    			FileCompareWorker::FileComparisonParams{
    				FileComparisonParams::FileNameMatch, FileComparisonParams::File2IsLarger});
    	}
    }
    

    BTW, here is my .clang-format in case you are interested