// =========================================================================== // Copyright 2018 Autodesk, Inc. All rights reserved. // // Use of this software is subject to the terms of the Autodesk license // agreement provided at the time of installation or download, or which // otherwise accompanies this software in either electronic or hard copy form. // =========================================================================== /*! \file TODO.mel A utility to help identify areas of the code that need work. This is just a syntactically similar interface of the TODO macro in C++ code that uses the toDo command to register hits of incomplete code and mark areas of MEL source for extraction to the code health summary. The strings inside the TODO call should all be literals so that they can be easily extracted to the code health web page. This should only be called from tests as we obviously don't want to pollute customer-visible files with this sort of thing. If you must though you can use the #ifdef MAYA_DEV_BUILD to ensure that it gets filtered out of the customer version Example usage: proc myIncompleteFunction(int $case) { switch( $case ) { case 0: handleCase0() break; case 1: handleCase1() break; default: TODO( "Finish","Unhandled case value ", "MAYA-99999" ); // Currently only cases 0 and 1 are handled but there are // situations in which values of 2 or 3 can be passed in. Those // represent edge cases at the moment and they will be handled // once our customer feedback lets us know exactly what we // should be doing in those situations. break; } } \sa ToDo.h \sa TODO.py */ //====================================================================== /*! \brief Register a "TODO" with the system. This is used to track when running code hits an area that has work to be done. This can help track down bugs, inefficiencies, and just generally make incomplete work more visible. \param[in] type What type of ToDo is it. Entries are grouped by this value. There are some hardcoded values to choose from, or you can use your own. REFACTOR : Code works but needs some sort of refactoring. HACK : Ugly shortcuts were taken to get something working quickly. FINISH : Code doesn't handle all cases yet. BUG : There is a known problem with the code. PERFORMANCE : The code could be made faster or more scalable. \param[in] description Short description of what work needs to be done to remedy the problem. \param[in] jiraEntry Link to the name of a JIRA entry referencing this code. */ global proc TODO(string $type, string $description, string $jiraEntry) { }