- 1
Мир! Труд! Май!
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+2
Мир! Труд! Май!
С праздником, питухи!
+2
package org.trishinfotech.builder;
public class Car {
private String chassis;
private String body;
private String paint;
private String interior;
public Car() {
super();
}
public Car(String chassis, String body, String paint, String interior) {
this();
this.chassis = chassis;
this.body = body;
this.paint = paint;
this.interior = interior;
}
public String getChassis() {
return chassis;
}
public void setChassis(String chassis) {
this.chassis = chassis;
}
public String getBody() {
return body;
}
public void setBody(String body) {
this.body = body;
}
public String getPaint() {
return paint;
}
public void setPaint(String paint) {
this.paint = paint;
}
public String getInterior() {
return interior;
}
public void setInterior(String interior) {
this.interior = interior;
}
public boolean doQualityCheck() {
return (chassis != null && !chassis.trim().isEmpty()) && (body != null && !body.trim().isEmpty())
&& (paint != null && !paint.trim().isEmpty()) && (interior != null && !interior.trim().isEmpty());
}
@Override
public String toString() {
// StringBuilder class also uses Builder Design Pattern with implementation of java.lang.Appendable interface
StringBuilder builder = new StringBuilder();
builder.append("Car [chassis=").append(chassis).append(", body=").append(body).append(", paint=").append(paint)
return builder.toString();
}
}
https://habr.com/ru/company/otus/blog/552412/
Паттерн проектирования Builder (Строитель) в Java
+2
Какой бароп!
https://www.opennet.ru/opennews/art.shtml?num=54816
На Батю нашего рiдного Столлмана нападают боевые пiдарасы из девятого круга ада.
Надо спасать.
- https://github.com/sticks-stuff/highlight-RMS-supporters
юзерскрипт, который подсвечивает всюду имена тех,
кто высказался в поддержку Столлмана.
Тикеты с требованием удалить данные по GDPR просто закрываются без комментариев.
- https://github.com/travisbrown/octocrabby
скрипт, который банит на гитхабе всех, кто подписался в поддержку Столлмана.
Заблокированные пользователи не могут форкать, не могут оставлять комментарии,
не могут создавать тикеты и т.д. Учитывая, что это поддерживают популярные компахи
типа redhat, gnome, mozilla, tor и т.д.
- В интернетах высказываются идеи о том, чтобы не давать нанимать на работу тех,
кто подписался в поддержку Столлмана.
Какой багор!
Почистите мне куки браузером!
https://www.opennet.ru/opennews/art.shtml?num=54816
+2
match group_shapes():
case [], [point := Point(x, y), *other]:
print(f"Got {point} in the second group")
process_coordinates(x, y)
https://www.python.org/dev/peps/pep-0622/
+2
Как вы относитесь к ЛГБТ?
В продолжение http://govnokod.ru/8329
Можно выбрать варианты или использовать свои
- Мне похуй
- Мне похуй, пусть только сидят себе тихо, и не пропагандируют это
- Путин пидор, что запретил однополые браки
- Путин правильно сделал, что запретил однополые браки
- Сжечь пидоров
- Боюсь, что мои дети додумаются сменить ориентацию
- Я сам пидор, но не говорю об этом открыто
- Я сам пидор, и этого не скрываю от окружения
- На работе мне похуй, что мой коллега пидор
- Уволюсь нахуй, если узнаю, что мой коллега пидор
+2
page < records.total_pages ? next_page_exist = true : next_page_exist = false
очевидное должно быть очевидны
+2
using System.Device.Gpio;
using System;
using System.Threading;
namespace Blinky
{
public class Program
{
private static GpioController s_GpioController;
public static void Main()
{
s_GpioController = new GpioController();
// ESP32 DevKit: 4 is a valid GPIO pin in, some boards like Xiuxin ESP32 may require GPIO Pin 2 instead.
GpioPin led = s_GpioController.OpenPin(4,PinMode.Output);
led.Write(PinValue.Low);
while (true)
{
led.Toggle();
Thread.Sleep(125);
led.Toggle();
Thread.Sleep(125);
led.Toggle();
Thread.Sleep(125);
led.Toggle();
Thread.Sleep(525);
}
}
}
}
https://habr.com/ru/post/549012/: «.NET nanoFramework — платформа для разработки приложений на C# для микроконтроллеров».
Ну все, последний оплот сишки пал, можно ее закапывать.
+2
#include <array>
#include <iostream>
#include <string_view>
#include <type_traits>
std::string_view getMaxMargin();
template<int bit_num>
struct flag {
friend constexpr int adl_flag(flag<bit_num>);
};
template<int bit_num>
struct writer {
friend constexpr int adl_flag(flag<bit_num>)
{
return bit_num;
}
static constexpr int value = bit_num;
};
template<int bit_num, int = adl_flag(flag<bit_num>{})>
constexpr bool is_flag_set(int, flag<bit_num>)
{
return bit_num >= 0;
}
template<int bit_num>
constexpr bool is_flag_set(float, flag<bit_num>)
{
return false;
}
template<size_t number, size_t bit_num>
constexpr bool get_bit()
{
return (number & (1 << bit_num)) != 0;
}
#define flags_to_size() \
((is_flag_set<0>(0, flag<0>{}) << 0) \
| (is_flag_set<1>(0, flag<1>{}) << 1) \
| (is_flag_set<2>(0, flag<2>{}) << 2) \
| (is_flag_set<3>(0, flag<3>{}) << 3))
template<bool test, typename T_true, typename T_false>
struct meta_if {
using type = T_true;
};
template<typename T_true, typename T_false>
struct meta_if<false, T_true, T_false> {
using type = T_false;
};
template<bool test, typename T_true, typename T_false>
using meta_if_t = typename meta_if<test, T_true, T_false>::type;
template<
size_t desired_size,
int = (0 +
sizeof(meta_if_t<get_bit<desired_size, 0>(), writer<0>, int>) +
sizeof(meta_if_t<get_bit<desired_size, 1>(), writer<1>, int>) +
sizeof(meta_if_t<get_bit<desired_size, 2>(), writer<2>, int>) +
sizeof(meta_if_t<get_bit<desired_size, 3>(), writer<3>, int>)
)
>
constexpr size_t f()
{
return desired_size;
}
int main()
{
constexpr size_t a = f<1>();
constexpr size_t b = f<6>();
std::cout << "Max margin size: " << getMaxMargin().size() << std::endl;
}
constexpr size_t MARGIN_SIZE = flags_to_size();
constexpr char MARGIN_CHAR = 'x';
template<typename T, T... Args>
constexpr auto getMarginStorageImpl(std::integer_sequence<T, Args...>)
{
return std::array<char, sizeof...(Args)>{(static_cast<void>(Args), MARGIN_CHAR)...};
}
constexpr auto getMarginStorage()
{
return getMarginStorageImpl(std::make_integer_sequence<int, MARGIN_SIZE>());
}
constexpr static auto marginStorage = getMarginStorage();;
std::string_view getMaxMargin()
{
return std::string_view(marginStorage.data(), MARGIN_SIZE);
}
"Интересно, можно ли насфиначить такой шаблон, чтобы в пределах TU сгенерированные литералы были слайсами одного статического массива, длина которого выводилась бы автоматически."
+2
unsigned three = 1;
unsigned five = 5;
unsigned seven = 7;
https://github.com/torvalds/linux/blob/d158fc7f36a25e19791d25a55da5623399a2644f/fs/ext4/resize.c#L698
+2
// Раздел 1 продолжение, расчет графы 5 и 6.
Области.П010000105.Значение = Области.П010000205.Значение
+ Области.П010000305.Значение
+ Области.П010000405.Значение
+ Области.П010000505.Значение
+ Области.П010000605.Значение
+ Области.П010000705.Значение
+ Области.П010000805.Значение
+ Области.П010000905.Значение
+ Области.П010001005.Значение
+ Области.П010001105.Значение;
Если Области.П010000105.Значение = 0 Тогда
ФорматПредставленияНуля = ?(ПустаяСтрока(Области.П010000205.Текст
+ Области.П010000305.Текст
+ Области.П010000405.Текст
+ Области.П010000505.Текст
+ Области.П010000605.Текст
+ Области.П010000705.Текст
+ Области.П010000805.Текст
+ Области.П010000905.Текст
+ Области.П010001005.Текст
+ Области.П010001105.Текст), "ЧН=' '", "ЧН=");
Области.П010000105.Формат = РегламентированнаяОтчетностьКлиентСервер.ЗаменитьПредставлениеНуляВСтрокеФормата(Области.П010000105.Формат, ФорматПредставленияНуля);
КонецЕсли;
Области.П010000106.Значение = Области.П010000206.Значение
+ Области.П010000306.Значение
+ Области.П010000406.Значение
+ Области.П010000506.Значение
+ Области.П010000606.Значение
+ Области.П010000706.Значение
+ Области.П010000806.Значение
+ Области.П010000906.Значение
+ Области.П010001006.Значение
+ Области.П010001106.Значение;
Если Области.П010000106.Значение = 0 Тогда
ФорматПредставленияНуля = ?(ПустаяСтрока(Области.П010000206.Текст
+ Области.П010000306.Текст
+ Области.П010000406.Текст
+ Области.П010000506.Текст
+ Области.П010000606.Текст
+ Области.П010000706.Текст
+ Области.П010000806.Текст
+ Области.П010000906.Текст
+ Области.П010001006.Текст
+ Области.П010001106.Текст), "ЧН=' '", "ЧН=");
Области.П010000106.Формат = РегламентированнаяОтчетностьКлиентСервер.ЗаменитьПредставлениеНуляВСтрокеФормата(Области.П010000106.Формат, ФорматПредставленияНуля);
КонецЕсли;
Области.П010000107.Значение = Области.П010000207.Значение
+ Области.П010000307.Значение
+ Области.П010000407.Значение
+ Области.П010000507.Значение
+ Области.П010000607.Значение
+ Области.П010000707.Значение
+ Области.П010000807.Значение
+ Области.П010000907.Значение
+ Области.П010001007.Значение
+ Области.П010001107.Значение;
Если Области.П010000107.Значение = 0 Тогда
ФорматПредставленияНуля = ?(ПустаяСтрока(Области.П010000207.Текст
+ Области.П010000307.Текст
+ Области.П010000407.Текст
+ Области.П010000507.Текст
+ Области.П010000607.Текст
+ Области.П010000707.Текст
+ Области.П010000807.Текст
+ Области.П010000907.Текст
+ Области.П010001007.Текст
+ Области.П010001107.Текст), "ЧН=' '", "ЧН=");
Области.П010000107.Формат = РегламентированнаяОтчетностьКлиентСервер.ЗаменитьПредставлениеНуляВСтрокеФормата(Области.П010000107.Формат, ФорматПредставленияНуля);
КонецЕсли;
zoebis