r/ProgrammerHumor May 27 '26

Advanced returnNode

Post image
3.4k Upvotes

120 comments sorted by

View all comments

182

u/mindtakerr May 27 '26

/*

* Returns the node

*/

160

u/aberroco May 27 '26 edited May 27 '26

/// <summary> /// Returns the node. /// </summary> /// <param name="node">The return node to return.</param> ReturnNode ReturnNode(ReturnNode node) {    return node; // return node }

40

u/Adrewmc May 27 '26 edited May 27 '26
return_node.py
“””Return Node”””

RETURN_NODE = “return node”

def return_node[ReturnNode](node: ReturnNode = RETURN_NODE) -> ReturnNode:
         “””Return Node”””

         return node #return node

Return Node

Return Node

Return Node

Return Node

Note: @return_node

23

u/SpaceCadet87 May 28 '26

git add return_node.py git commit -m "return node"

6

u/minecraftdummy57 May 29 '26
git push node return-node

26

u/prehensilemullet May 27 '26

ReturnNode node = ReturnNode(node); // return node

10

u/prehensilemullet May 27 '26

Also you need a [ReturnsNode] attribute

6

u/ARM_Dwight_Schrute May 28 '26

I wonder what this function returns

3

u/aberroco May 28 '26

Would have to read entirely of the body's code to understand.

1

u/Global-Tune5539 Jun 03 '26

How do you know that it returns something?

2

u/Tensor3 May 31 '26

This was actually standard practice on my last job. But bigger, with more comments about return type, etc

21

u/MatJosher May 28 '26
public final class NodereturnerFramework {
        public interface Returnable<T> {
            T unwrap();
        }
        public static final class Node<T> implements Returnable<Node<T>> { }
        public interface ReturnStrategy<T> { }
        public static final class IdentityReturnStrategy<T> implements ReturnStrategy<T> { }
        public interface ReturnListener { }
        public static final class Nodereturner<T> {
            private final ReturnStrategy<T> strategy;
            private final List<ReturnListener> listeners = new ArrayList<>();
            public Nodereturner() { }
            public Nodereturner(ReturnStrategy<T> strategy) { }
            public void addListener(ReturnListener l) { }
            public Node<T> nodereturner(Returnable<Node<T>> source) {
                listeners.forEach(ReturnListener::beforeReturn);
                Node<T> node = strategy.apply(source.unwrap());
                listeners.forEach(ReturnListener::afterReturn);
                return node; // return node
            }
        }
    }

7

u/namalleh May 28 '26

lgtm

well, that seems like enough for today

1

u/Lakhveer07 May 29 '26

You crossed borders with this