Recommended way to load / enqueue parent and child stylesheet to enable cache busting

twentysixteen is doing it in a bad way, surprisingly. They should first register the parent themes styles and scripts with a correct version attribute with wp_register_style in child themes you could then just do.

wp_enqueue_style( $parent_style );

To get the correct version of the style for cache-busting the parent themes style. But you also may be confusign something as you only need that when the parent themes updates and that happens not very much so its really not that important for the parent theme but more for the theme you currently work on. And in case you do not want to update the version all the time in development I have something for that.

There should also be a way to read the parent themes version and pass it for ver. Well that is probably what you are asking 😉 Do know know.

May be helpful: I recently came up with a function that uses filemtime only in development

<?php
namespace Nextgenthemes\NativeLazyloadPolyfill;

const VERSION     = '0.9.12';
const VERY_LATE   = PHP_INT_MAX - 5;
const PLUGIN_FILE = __FILE__;
const PLUGIN_DIR  = __DIR__;

init();

function init() {

    $ns = __NAMESPACE__;

    add_action( 'wp_enqueue_scripts', "$ns\\action_wp_enqueue_scripts" );
}

function action_wp_enqueue_scripts() {

    wp_register_script(
        'nextgenthemes-loading-attribute-polyfill',
        plugins_url( 'node_modules/loading-attribute-polyfill/loading-attribute-polyfill.min.js', PLUGIN_FILE ),
        array(),
        ver( VERSION, 'node_modules/loading-attribute-polyfill/loading-attribute-polyfill.min.js', PLUGIN_FILE ),
        false
    );

    wp_enqueue_script( 'nextgenthemes-loading-attribute-polyfill' );
}

function ver( $ver, $path, $file ) {

    if ( defined( 'WP_DEBUG' ) && WP_DEBUG ) {
        $ver = filemtime( trailingslashit( dirname( $file ) ) . $path );
    }

    return $ver;
}

I actually to not use it in that plugin but it was easy to copy paste and cut down the code for SO. Its modeled after plugins_url with a version as first parameter. In a parent child theme scenario you would want to have a constant of the functions.php file of your theme and pass that to the function.