What is a common and sensible parameter order for functions?
Assuming they are all mandatory:

    function search (haystack, needle)
    function search (needle, haystack)
    
    function placeObject (object, column, row)
    function placeObject (column, row, object)
    
    function newObject (parent, width, height, isVisible)
    function newObject (isVisible, width, height, parent)
    function newObject (width, height, isVisible, parent)

I think it is often a matter of personal choice which should be consistent throughout the project. But I wonder whether there is a deeper logic which would dictate the order for every case.
What is a common and sensible parameter order for functions?
===

Assuming they are all mandatory:

    function search (haystack, needle)
    function search (needle, haystack)
    
    function placeObject (object, column, row)
    function placeObject (column, row, object)
    
    function newObject (parent, width, height, isVisible)
    function newObject (isVisible, width, height, parent)
    function newObject (width, height, isVisible, parent)

I think it is often a matter of personal choice which should be consistent throughout the project. But I wonder whether there is a deeper logic which would dictate the order for every case.