def get_handcrafted_feature_names(platform):
    """
    Returns a set of feature names to be calculated.

    Output: - names: A set of strings, corresponding to the features to be calculated.
    """
    names = set()

    ####################################################################################################################
    # Add basic discussion tree features.
    ####################################################################################################################
    names.update(["comment_count",
                  "max_depth",
                  "avg_depth",
                  "max_width",
                  "avg_width",
                  "max_depth_over_max_width",
                  "avg_depth_over_width"])

    ####################################################################################################################
    # Add branching discussion tree features.
    ####################################################################################################################
    names.update(["comment_tree_hirsch",
                  "comment_tree_wiener",
                  "comment_tree_randic"])

    ####################################################################################################################
    # Add user graph features.
    ####################################################################################################################
    names.update(["user_count",
                  "user_graph_hirsch",
                  "user_graph_randic",
                  "outdegree_entropy",
                  "norm_outdegree_entropy",
                  "indegree_entropy",
                  "norm_indegree_entropy"])

    ####################################################################################################################
    # Add temporal features.
    ####################################################################################################################
    names.update(["avg_time_differences_1st_half",
                  "avg_time_differences_2nd_half",
                  "time_differences_std"])

    ####################################################################################################################
    # Add YouTube channel features.
    ####################################################################################################################
    # if platform == "YouTube":
    #     names.update(["author_privacy_status_youtube",
    #                   "author_is_linked_youtube",
    #                   "author_long_uploads_status_youtube",
    #                   "author_comment_count_youtube",
    #                   "author_comment_rate_youtube",
    #                   "author_view_count_youtube",
    #                   "author_view_rate_youtube",
    #                   "author_video_upload_count_youtube",
    #                   "author_video_upload_rate_youtube",
    #                   "author_subscriber_count_youtube",
    #                   "author_subscriber_rate_youtube",
    #                   "author_hidden_subscriber_count_youtube",
    #                   "author_channel_lifetime_youtube"])

    ####################################################################################################################
    # Add Reddit author features.
    ####################################################################################################################
    # elif platform == "Reddit":
    #     names.update(["author_has_verified_mail_reddit",
    #                   "author_account_lifetime_reddit",
    #                   "author_hide_from_robots_reddit",
    #                   "author_is_mod_reddit",
    #                   "author_link_karma_reddit",
    #                   "author_link_karma_rate_reddit",
    #                   "author_comment_karma_reddit",
    #                   "author_comment_karma_rate_reddit",
    #                   "author_is_gold_reddit"])
    # else:
    #     print("Invalid platform name.")
    #     raise RuntimeError

    return names