- 1
value = *((const char*)(*it).second.value);
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+7
value = *((const char*)(*it).second.value);
void* -> const char* -> char
+1
if (test)
{
_inquiryLineRepository.RequestToOrderAPI(model, idetails, true);
}
else
{
_inquiryLineRepository.RequestToOrderAPI(model, idetails);
}
индусы радуются и танцуют групповые танцы, когда видят, что подобный код пишет кто то кроме них
−93
Функция ПеревестиДеньги(СчетИсточник, СчетПолучатель, Сумма)
СнятьСоСчета(СчетИсточник, Сумма);
ПополнитьСчет(СчетПолучатель, Сумма);
КонецФункции
Как написать эту функцию безопасно? Что делать, если ПополнитьСчет упадет с исключением, например?
+2
public CustomCollection<T> wherePropertyIs(String propertyName, Object value) {
CustomCollection<T> lstTemp = new CustomCollection <T>();
if (this.size() > 0) {
Field foundField = null;
for (Field f : this.get(0).getClass().getDeclaredFields()){
if (f.getName().equals(propertyName)){
foundField = f;
break;
}
}
if (foundField != null) {
foundField.setAccessible(true);
try {
for(T obj : this){
if (foundField.get(obj).equals(value)){
lstTemp.add(obj);
}
}
}catch (IllegalAccessException e){
System.out.println(e.getMessage());
}
}
}
return lstTemp;
}
братишка, я тебе Linq на джаве принёс
−95
Функция ПроверитьРодителя(СчетРодитель,Счет)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| &Счет В ИЕРАРХИИ (&СчетРодитель) КАК ПроверкаСч";
Запрос.УстановитьПараметр("Счет", Счет);
Запрос.УстановитьПараметр("СчетРодитель", СчетРодитель);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
ВыборкаДетальныеЗаписи.Следующий();
Возврат ВыборкаДетальныеЗаписи.ПроверкаСч;
КонецФункции
+1
public Object [][] getResults (String query){
Object oArray [][] = {};
try (Connection con = Connector.getNewConnection()) {
Statement st = con.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
try (ResultSet rs = st.executeQuery(query)){
int rows = 0;
int cells = 0;
List<Object> lstObjX = new ArrayList<Object> (64);
while (rs.next()){
rows ++;
int x = 1;
while (true){
try {
lstObjX.add(rs.getObject(x));
x++;
}catch (Exception e) {
cells = (x != 1) ? x-1 : 0;
break;
}
}
for (; x-1 < cells; x++){
lstObjX.add(rs.getObject(x));
}
}
oArray = new Object [rows][cells];
int z = 0;
for (int y = 0; y < rows; y++){
for (int x = 0; x < cells; x++){
oArray[y][x] = lstObjX.get(z);
z++;
}
}
}
}
catch (SQLException e) {
System.err.println(e.getMessage());
}
return oArray;
}
Превращаем Resultset в 2-мерную таблицу [y][x], где [y] - индекс строки, а [x] - индекс значений полей
0
// Validation
$err = $fc->validationInput($fieldsArray, wire('input')->post);
if( $err === false ) {
// Saving
$fc->saveInput($fieldsArray, wire('input')->post);
// Send emails to the submitter and to the owner
$toSubmitter = wire('user')->email;
$toOwner = wire('pages')->get(wire('page')->created_users_id)->email;
$subject = "reservation #{$destPage->id}";
ob_start(); ?>
<p>Dear <?php echo $owner->o_firstname; ?>,</p>
<p>We have enquiry for your <?php echo $destPage->id->title; ?> in your account on site. Please log in to see details and replay to the guests directly.</p>
<p>Here is the link: <a href="<?php echo 'http://'.$loginLink; ?>">http://<?php echo $loginLink; ?></a><p>
<p>Thank you in advance for contacting guests shortly. If you require any assistance please do not hesitate to get in touch.</p>
<p>The Team<br />
Lionl<br />
237 Perrier<br />
74700 <br />
<br />
Fr</p>
<?php $textBody = ob_get_clean();
$sent1 = wireMail($toSubmitter, '', $subject, '', array( 'bodyHTML' => $textBody ));
wireMail($toSubmitter, '', $subject, array( 'bodyHTML' => $textBody ));
$agentMail = $fc->getInput('reservation_contact_email')->value;
$agentName = $fc->getInput('leader')->value;
$agentPhone = $fc->getInput('reservation_contact_phone')->value;
$regUser = wire('users')->find("email=$agentMail");
$destPage->of(false);
Отправка письма
0
$result = call_user_func_array([ $brief, $value ? 'setOption' : 'deleteOption' ],
[ $option ] + ($value ? [ 1 => $value ] : []));
+8
public float Ratio
{
get { return ratio; }
set
{
float newValue = value;
if (value < 0.002f)
{
newValue = 0.002f;
}
else if (value > 0.983f)
{
newValue = 0.983f;
}
if (ratio != newValue)
{
ratio = value;
InvalidateMeasure();
}
}
}
Мой "любимый" телерик опять пишет говно. Хорошо, что я скачал исходники и теперь сам могу править баги, не дожидаясь реакции этих слоупоков, которые после отправки бага с гифом (!), воспроизводящими исходниками (!!) и, блядь, патчем (!!!) исправляли два месяца сраный NRE.
Догадайтесь, что здесь не так. Про magic numbers уже молчу.
+1
struct Test
{
Array<int> intArray;
int fixedIntArray[3];
bool booleanVal;
float flt;
Array<string> stringArray;
ADD_REFLECTION(Test, intArray, fixedIntArray, booleanVal, flt, stringArray);
};
struct SuperTest
{
Array<string> strArr;
int foo;
string str;
Array<short> vals;
double dbl;
Test tests[3];
ushort bar;
ADD_REFLECTION(SuperTest, strArr, foo, str, vals, dbl, tests, bar);
};
int main()
{
StringView structText = R"({
.strArr = {"str1", "ergvwr", "brt"},
.foo = 5,
.str = "gammaker",
.vals = {-4, 66, 432, -95},
.dbl = 3.1415926535897932384626433832795,
{
{
.fixedIntArray = {9, 4, 85},
.stringArray = {"test 0 A", "test 0 B", "test 0 C"},
.booleanVal = true,
.intArray = {43, 54, 36, 76},
.flt = 1.23456,
.flt = 2.34567
},
{
.intArray = {},
.fixedIntArray = {3655456, 234, 3},
.booleanVal = false,
.flt = 2.718281828,
.stringArray = {"test 1 A", "test 1 B"}
},
{
.intArray = {1531, 1253, 16, 634, 236462363},
.fixedIntArray = {9435, 435, 8355},
.booleanVal = false,
.flt = 123.65,
.stringArray = {"test 2 A", "test 2 B", "test 2 C", "test 2 D"}
}
},
.bar = 1025
})";
Data::TextDeserializer deserializer(Data::DataLanguageParams::CStructInitializer, structText);
SuperTest test = deserializer.Deserialize<SuperTest>();
char charBuf[5000];
Data::TextSerializer serializer(Data::DataLanguageParams::Json, Data::TextSerializerParams::Verbose, ArrayRange<char>(charBuf, 5000));
serializer.NestingLevel=-1;
serializer.Serialize(test);
Console.PrintLine(serializer.GetString());
Data::DataLanguageParams rusML;
rusML.RequireFieldAssignments = false;
rusML.AddFieldNameAfterAssignment = false;
rusML.LeftAssignmentOperator = "равно";
rusML.FieldSeparator = " следующее поле";
rusML.LeftFieldNameBeginQuote = null;
rusML.LeftFieldNameEndQuote = null;
rusML.RightFieldNameBeginQuote = null;
rusML.RightFieldNameEndQuote = null;
rusML.StructInstanceOpen = "начало структуры";
rusML.StructInstanceClose = " структура кончилась";
rusML.OneLineCommentBegin = "комментарий:";
rusML.StringQuote="\"";
rusML.CharQuotes = "";
rusML.ArrayOpen = " массив начался ";
rusML.ArrayClose = " кончился массив ";
rusML.ArrayElementSeparator = " дальше";
rusML.FalseTrueNames[0] = "нет";
rusML.FalseTrueNames[0] = "да";
rusML.DecimalSeparator = ',';
serializer = Data::TextSerializer(rusML, Data::TextSerializerParams::Verbose, ArrayRange<char>(charBuf, 5000));
serializer.NestingLevel=-1;
serializer.Serialize(test);
Console.PrintLine(serializer.GetString());
return 0;
}
Сделал автоматический сериализатор с кучей параметров, используя которые можно описать JSON, инициализаторы C'шных и D'шных структур, подмножество XML или какой-нибудь свой кастомный формат. Здесь показана десериализация сишного инициализатора с designated initializers, который почему-то не добавили в C++. Затем полученная структура сериализуется в JSON (его описание в моём хидере, и здесь не приведено), а затем в придуманный мной ради прикола язык разметки rusML, описание которого можно видеть в коде.
Выводит (табы порезались):
{
"strArr" : ["str1", "ergvwr", "brt"],
"foo" : 5,
"str" : "gammaker",
"vals" : [-4, 66, 432, -95],
"dbl" : 3.141592653589789,
"tests" : [
{
"intArray" : [43, 54, 36, 76],
"fixedIntArray" : [9, 4, 85],
"booleanVal" : true,
"flt" : 2.3456699,
"stringArray" : ["test 0 A", "test 0 B", "test 0 C"]
},
{
"intArray" : [],
"fixedIntArray" : [3655456, 234, 3],
"booleanVal" : false,
"flt" : 2.7182817,
"stringArray" : ["test 1 A", "test 1 B"]
},
{
"intArray" : [1531, 1253, 16, 634, 236462363],
"fixedIntArray" : [9435, 435, 8355],
"booleanVal" : false,
"flt" : 123.6499938,
"stringArray" : ["test 2 A", "test 2 B", "test 2 C", "test 2 D"]
}
],
"bar" : 1025
}
начало структуры
strArr равно массив начался "str1" дальше "ergvwr" дальше "brt" кончился массив следующее поле
foo равно 5 следующее поле
str равно "gammaker" следующее поле
vals равно массив начался -4 дальше 66 дальше 432 дальше -95 кончился массив следующее поле
...