Your junior colleague would still do PrintOrderDetails(1234, "SomeSeller", "SomeProduct");
And the compiler wouldn't notice.
You could uused a Roslyn analyzer that gives a warning "methods with consecutive args of the same type should use named params" I guess. Or a warning could be made at the declaring site "Don't declare methods with consecutive args of the same type".
C#:
PrintOrderDetails(orderNum: 31, productName: "Red Mug", sellerName: "Gift Shop");