Based on usage it's probably console.log() or var_dump().

At the moment I'm enjoying some JavaScript array methods - filter, map, reduce.

 
 

random() functions, there is so much more behind them then we usually think. I can talk hours about entropy and sources, techniques, pseudo algorithms and how can it improve almost any software product.

 
 
 

As in, some product features can be improved using random (shuffle or generate things), most basic example is chose new 5 news headlines to see from the top 100 articles to an user, each x seconds/page views.

 
 

In PHP I always include file with my custom helper functions. These two wrap output with <pre/> tags, which allows nice&quick debugging via browser from any class or template code.


function pre($obj = null, $escape = false){
    echo "<pre>";
    if($escape){
        $obj = htmlspecialchars ( print_r($obj, true) );
    }
    print_r($obj);
    echo "</pre>";
}

function dump($obj = null){
    echo "<pre>";
    var_dump($obj);
    echo "</pre>";
}
 

var_masterpiece is also an excellent browser extension too for debugging!

 

HA! I have a pre() function too! I use it many, many times a day. Mine has the $obj, but then a title, so if I have multiple pre()s going, I know which is which. Like, pre( $obj, 'This is the user obj');
Love it.

 
$("");

Because it took me almost half a year to realize that it's a function, not a language construct.

 
expect(true).toBe(true);
  1. It's a super useful dumb placeholder when just building out describes, its, beforeAlls, etc in Jasmine tests without actually caring about the legit expectations yet.
  2. It actually failed for me once, which was... enlightening
 

curry function is probably my prefered one.
For those who don't know its utility, here's a basic example:

const divide = curry((a, b) => a / b)
const divide4By = divide(4)

console.log(divide4by(2))
// 2

I even made my own optimized version 😄
npmjs.com/package/super-curry.

 

In Ruby, backticks are a function call. And what's especially cool is that heredocuments with backticks call the same function, but with multi line arguments. So you can define them to do other, more interesting things, like call out to other languages! In practice, I mostly use it when experimenting with some slightly tedious external resource, I basically learned PostgreSQL by running them through these kinds of functions.

require 'open3'

def `(str)
  Open3.capture3('php', stdin_data: str).first
end

<<~`PHP` # => "hello cruel world\n"
hello \
<?php echo "cruel" ?> \
world
PHP
 

Don't know if it's only a function, but ajax in Javascript is something else: the whole idea of a function connecting asynchronously to a server and retrieving data without the need of recharge the entire page is amazing.

 

Arrow function 🤓. this has never been easier.

 
 

I don't really have a favorite function, because it's all about using the right one to solve a problem. ut I like functions that make things simpler, so I think I'd pick fetch(). Because before, making HTTP requests from JavaScript looked like this

var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
     document.getElementById("demo").innerHTML = this.responseText;
    }
  };
  xhttp.open("GET", "ajax_info.txt", true);
  xhttp.send();
 

I don't know why but I just love sprintf() in php ... It's very useful and much more elegant than just endlessly concatenate strings !

And less elegant but really useful once again, die(var_dump()) has a special place in my heart ...

 

map, filter, reduce, forEach, Array.prototype.some, Array.prototype.every

Working with array in Javascript never been easier.
Love it all!

 
 

Love throwing exceptions around ;)

throw new Exception("...");
throw Error("...");
raise Exception.Create('...');
 
 

I like map.put and map.get. Maps/Dictionaries are incredibly useful data structures that we tend to take for granted nowadays.

 

mine is fmap ...
fmap :: (a -> b) -> F a -> F b
with F being a Functor :-)

I find this one, truly comforting for some reason.

 
 

When something went unexpectedly wrong..

panic(error)
 
Classic DEV Post from Dec 25 '18

My 2018 Year in Review on dev.to

My favourite posts from the year ... in no particular order

endan
Reese’s peanut butter cup-fueled coding monster who dwells in the web. Also devours books, video games, anime, and manga. I write about everything!