BTW, I was going over these, and this does not seem to me like a case where you want to do an early return.
The logic is: Add some stuff to data See if I found the UserSource key, if so add some more stuff Then return data It would not be clearer to do: Add some stuff to data See if I found the UserSource Key, if not return data Otherwise add some more stuff to data return data in another place. That seems like asking for trouble when somebody wants to add another key, and misses the early return so they only get their stuff added when UserSource is present. From the examples given in the coding standards, I thought early return was more about: if there are a bunch of preconditions that need to be true before you can do the work of the function, do those checks up front. That makes a lot of sense to me for the stated reason, but that's not what's going on here. Jim > On Sep 12, 2016, at 4:57 PM, Zachary Turner <ztur...@google.com> wrote: > > +BreakpointOptions::CommandData * > +BreakpointOptions::CommandData::CreateFromStructuredData( > + StructuredData::Dictionary &options_dict, Error &error) { > + std::string script_source; > + CommandData *data = new CommandData(); > + bool success = options_dict.GetValueForKeyAsBoolean( > + GetKey(OptionNames::StopOnError), data->stop_on_error); > + > + success = options_dict.GetValueForKeyAsString( > + GetKey(OptionNames::ScriptSource), data->script_source); > + > + StructuredData::Array *user_source; > + success = > options_dict.GetValueForKeyAsArray(GetKey(OptionNames::UserSource), > + user_source); > + if (success) { > Early return. > > + size_t num_elems = user_source->GetSize(); > + for (size_t i = 0; i < num_elems; i++) { > + std::string elem_string; > + success = user_source->GetItemAtIndexAsString(i, elem_string); > + if (success) > + data->user_source.AppendString(elem_string); > + } > + } > + return data; > +} > + _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits